@iobroker/adapter-react-v5 4.7.1 → 4.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -240,7 +240,7 @@ var ColorPicker = /*#__PURE__*/function (_React$Component) {
240
240
  marginRight: 8
241
241
  },
242
242
  label: this.props.label || this.props.name || 'color',
243
- value: color,
243
+ value: color || '',
244
244
  margin: "dense",
245
245
  classes: {
246
246
  root: this.props.classes.textDense
@@ -286,7 +286,7 @@ var ColorPicker = /*#__PURE__*/function (_React$Component) {
286
286
  }
287
287
  }, /*#__PURE__*/_react["default"].createElement(_reactColor.ChromePicker, {
288
288
  className: this.props.classes.picker,
289
- color: this.state.color,
289
+ color: this.state.color || '',
290
290
  onChangeComplete: function onChangeComplete(_color) {
291
291
  return _this3.handleChange(_color);
292
292
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","names":["_react","_interopRequireDefault","require","_reactColor","_propTypes","_styles","_material","_iconsMaterial","_Utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","styles","theme","color","width","height","borderRadius","delButton","marginTop","swatch","padding","background","palette","paper","boxShadow","display","cursor","verticalAlign","swatchDisabled","opacity","popover","backgroundColor","textAlign","popoverList","closeButton","concat","secondary","main","cover","position","top","right","bottom","left","textDense","marginBottom","picker","iconButton","button","minWidth","minHeight","ColorPicker","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","setState","displayColorPicker","state","anchorEl","currentTarget","onChange","getColor","value","_createClass2","key","componentDidUpdate","_prevProps","prevState","renderCustomPalette","_this2","customPalette","createElement","style","flexWrap","map","Button","className","classes","onClick","handleChange","setTimeout","handleClose","render","_this3","TextField","disabled","variant","id","marginRight","label","name","margin","root","target","IconButton","size","Delete","Utils","clsx","handleClick","undefined","border","boxSizing","Menu","list","open","onClose","ChromePicker","onChangeComplete","_color","Close","isHex","_typeof2","rgb","toString","padStart","g","b","a","rgb2hex","m","match","parseInt","React","Component","propTypes","PropTypes","bool","string","func","isRequired","object","array","_export","withStyles","_default","exports"],"sources":["ColorPicker.js"],"sourcesContent":["/**\n * Copyright 2018-2023 Denis Haev (bluefox) <dogafox@gmail.com>\n *\n * Licensed under the Creative Commons Attribution-NonCommercial License, Version 4.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://creativecommons.org/licenses/by-nc/4.0/legalcode.txt\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { ChromePicker } from 'react-color';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport {\n TextField, Menu, IconButton, Button,\n} from '@mui/material';\nimport { Delete as IconDelete, Close as IconClose } from '@mui/icons-material';\n\nimport Utils from './Utils';\n\nconst styles = theme => ({\n color: {\n width: 36,\n height: 14,\n borderRadius: 2,\n },\n delButton: {\n // width: 32,\n // height: 32,\n marginTop: 16,\n },\n swatch: {\n marginTop: 16,\n padding: 5,\n background: theme.palette.background.paper,\n borderRadius: 1,\n boxShadow: '0 0 0 1px rgba(0,0,0,.1)',\n display: 'inline-block',\n cursor: 'pointer',\n verticalAlign: 'middle',\n },\n swatchDisabled: {\n opacity: 0.5,\n cursor: 'default',\n },\n popover: {\n // position: 'absolute',\n // zIndex: 2,\n backgroundColor: '#00000000',\n textAlign: 'right',\n },\n popoverList: {\n padding: 0,\n },\n closeButton: {\n backgroundColor: `${theme.palette.background.paper} !important`,\n borderRadius: '0 0 25% 25%',\n '&:hover': {\n backgroundColor: `${theme.palette.secondary.main} !important`,\n },\n },\n cover: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n },\n textDense: {\n marginTop: 0,\n marginBottom: 0,\n },\n picker: {\n background: `${theme.palette.background.paper} !important`,\n },\n iconButton: {\n width: 16,\n height: 16,\n },\n button: {\n width: 32,\n height: 32,\n minWidth: 32,\n minHeight: 32,\n },\n});\n\n/**\n * @typedef {object} Rgb\n * @property {number} r The red component of the color (0-255).\n * @property {number} g The green component of the color (0-255).\n * @property {number} b The blue component of the color (0-255).\n * @property {number} a The alpha component of the color (0-255).\n *\n * @typedef {string | Rgb | { rgb: Rgb }} Color Definition of a color.\n *\n * @typedef {object} ColorPickerProps\n * @property {boolean} [disabled] Set to true to disable the color picker.\n * @property {Color} [value] The currently selected color.\n * @property {(rgba: string) => void} [onChange] The color change callback.\n * @property {string} [name] The name.\n * @property {React.CSSProperties} [style] Additional styling for this component.\n * @property {string} [className] The CSS class name.\n * @property {boolean} [openAbove] Open the color picker above the field?\n *\n * @extends {React.Component<ColorPickerProps>}\n */\nclass ColorPicker extends React.Component {\n /**\n * @param {Readonly<ColorPickerProps>} props\n */\n constructor(props) {\n super(props);\n this.state = {\n displayColorPicker: false,\n color: this.props.value || this.props.color,\n anchorEl: null,\n };\n }\n\n /**\n * @private\n */\n handleClick = e => {\n this.setState({ displayColorPicker: !this.state.displayColorPicker, anchorEl: this.state.displayColorPicker ? null : e.currentTarget });\n };\n\n /**\n * @private\n */\n handleClose = () => {\n this.setState({ displayColorPicker: false, anchorEl: null });\n };\n\n /**\n * Convert the given color to hex ('#rrggbb') or rgba ('rgba(r,g,b,a)') format.\n * @param {Color} [color]\n * @param {boolean} [isHex] The returning string should be in hex format\n * @returns {string} the hex or rgba representation of the given color.\n */\n static getColor(color, isHex) {\n if (color && typeof color === 'object') {\n if (color.rgb) {\n if (isHex) {\n return `#${color.rgb.r.toString(16).padStart(2, '0')}${color.rgb.g.toString(16).padStart(2, '0')}${color.rgb.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`;\n }\n if (isHex) {\n return `#${color.r.toString(16).padStart(2, '0')}${color.g.toString(16).padStart(2, '0')}${color.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${color.r},${color.g},${color.b},${color.a})`;\n }\n return isHex ? ColorPicker.rgb2hex(color || '') : color || '';\n }\n\n /**\n * Convert rgb() or rgba() format to hex format #rrggbb.\n * @param {string} rgb\n * @returns {string}\n */\n static rgb2hex(rgb) {\n const m = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n\n const r = parseInt(m[1], 10).toString(16).padStart(2, '0');\n const g = parseInt(m[2], 10).toString(16).padStart(2, '0');\n const b = parseInt(m[3], 10).toString(16).padStart(2, '0');\n\n return m && m.length === 4 ? `#${r}${g}${b}` : rgb;\n }\n\n /**\n * @private\n */\n handleChange = color => {\n this.setState({ color }, () =>\n this.props.onChange && this.props.onChange(ColorPicker.getColor(color)));\n };\n\n /**\n * IF the props are updated from outside, they should override the state\n * @param _prevProps\n * @param prevState\n */\n componentDidUpdate(_prevProps, prevState) {\n const color = ColorPicker.getColor(this.props.color || this.props.value);\n\n if (color !== prevState.color) {\n this.setState({ color });\n }\n }\n\n renderCustomPalette() {\n if (!this.props.customPalette) {\n return null;\n }\n return <div style={{ width: '100%', display: 'flex', flexWrap: 'flex' }}>\n {this.props.customPalette.map(color =>\n <Button\n className={this.props.classes.button}\n key={color}\n onClick={() => {\n this.handleChange(color);\n setTimeout(() => this.handleClose(), 300);\n }}\n >\n <div className={this.props.classes.iconButton} style={{ background: color }} />\n </Button>)}\n </div>;\n }\n\n render() {\n const style = { ...(this.props.style || {}) };\n style.position = 'relative';\n const { color } = this.state;\n\n return <div\n style={style}\n className={this.props.className || ''}\n >\n <TextField\n disabled={this.props.disabled}\n variant=\"standard\"\n id=\"ar_color_picker_name\"\n style={color ? { width: 'calc(100% - 80px)' } : { width: 'calc(100% - 56px)', marginRight: 8 }}\n label={this.props.label || this.props.name || 'color'}\n value={color}\n margin=\"dense\"\n classes={{ root: this.props.classes.textDense }}\n onChange={e => this.handleChange(e.target.value)}\n />\n {color ? <IconButton\n disabled={this.props.disabled}\n onClick={() => this.handleChange('')}\n size=\"small\"\n className={this.props.classes.delButton}\n style={color ? {} : { opacity: 0, cursor: 'default' }}\n >\n <IconDelete />\n </IconButton> : null}\n <div\n className={Utils.clsx(this.props.classes.swatch, this.props.disabled && this.props.classes.swatchDisabled)}\n onClick={e => !this.props.disabled && this.handleClick(e)}\n style={{\n background: color ? undefined : 'transparent',\n border: color ? undefined : '1px dashed #ccc',\n boxSizing: 'border-box',\n }}\n >\n <div className={this.props.classes.color} style={{ background: color }} />\n </div>\n {this.state.displayColorPicker && !this.props.disabled ? <Menu\n classes={{ paper: this.props.classes.popover, list: this.props.classes.popoverList }}\n anchorEl={this.state.anchorEl}\n open={!0}\n onClose={() => this.handleClose()}\n >\n <ChromePicker\n className={this.props.classes.picker}\n color={this.state.color}\n onChangeComplete={_color => this.handleChange(_color)}\n styles={{ picker: { background: '#112233' } }}\n />\n <IconButton className={this.props.classes.closeButton} onClick={() => this.handleClose()}><IconClose /></IconButton>\n {this.renderCustomPalette()}\n </Menu> : null }\n </div>;\n }\n}\n\nColorPicker.propTypes = {\n disabled: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string,\n name: PropTypes.string, // same as label\n style: PropTypes.object,\n className: PropTypes.string,\n customPalette: PropTypes.array,\n};\n\n/** @type {typeof ColorPicker} */\nconst _export = withStyles(styles)(ColorPicker);\nexport default _export;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ColorPicker.js","names":["_react","_interopRequireDefault","require","_reactColor","_propTypes","_styles","_material","_iconsMaterial","_Utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","styles","theme","color","width","height","borderRadius","delButton","marginTop","swatch","padding","background","palette","paper","boxShadow","display","cursor","verticalAlign","swatchDisabled","opacity","popover","backgroundColor","textAlign","popoverList","closeButton","concat","secondary","main","cover","position","top","right","bottom","left","textDense","marginBottom","picker","iconButton","button","minWidth","minHeight","ColorPicker","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","setState","displayColorPicker","state","anchorEl","currentTarget","onChange","getColor","value","_createClass2","key","componentDidUpdate","_prevProps","prevState","renderCustomPalette","_this2","customPalette","createElement","style","flexWrap","map","Button","className","classes","onClick","handleChange","setTimeout","handleClose","render","_this3","TextField","disabled","variant","id","marginRight","label","name","margin","root","target","IconButton","size","Delete","Utils","clsx","handleClick","undefined","border","boxSizing","Menu","list","open","onClose","ChromePicker","onChangeComplete","_color","Close","isHex","_typeof2","rgb","toString","padStart","g","b","a","rgb2hex","m","match","parseInt","React","Component","propTypes","PropTypes","bool","string","func","isRequired","object","array","_export","withStyles","_default","exports"],"sources":["ColorPicker.js"],"sourcesContent":["/**\n * Copyright 2018-2023 Denis Haev (bluefox) <dogafox@gmail.com>\n *\n * Licensed under the Creative Commons Attribution-NonCommercial License, Version 4.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://creativecommons.org/licenses/by-nc/4.0/legalcode.txt\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { ChromePicker } from 'react-color';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport {\n TextField, Menu, IconButton, Button,\n} from '@mui/material';\nimport { Delete as IconDelete, Close as IconClose } from '@mui/icons-material';\n\nimport Utils from './Utils';\n\nconst styles = theme => ({\n color: {\n width: 36,\n height: 14,\n borderRadius: 2,\n },\n delButton: {\n // width: 32,\n // height: 32,\n marginTop: 16,\n },\n swatch: {\n marginTop: 16,\n padding: 5,\n background: theme.palette.background.paper,\n borderRadius: 1,\n boxShadow: '0 0 0 1px rgba(0,0,0,.1)',\n display: 'inline-block',\n cursor: 'pointer',\n verticalAlign: 'middle',\n },\n swatchDisabled: {\n opacity: 0.5,\n cursor: 'default',\n },\n popover: {\n // position: 'absolute',\n // zIndex: 2,\n backgroundColor: '#00000000',\n textAlign: 'right',\n },\n popoverList: {\n padding: 0,\n },\n closeButton: {\n backgroundColor: `${theme.palette.background.paper} !important`,\n borderRadius: '0 0 25% 25%',\n '&:hover': {\n backgroundColor: `${theme.palette.secondary.main} !important`,\n },\n },\n cover: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n },\n textDense: {\n marginTop: 0,\n marginBottom: 0,\n },\n picker: {\n background: `${theme.palette.background.paper} !important`,\n },\n iconButton: {\n width: 16,\n height: 16,\n },\n button: {\n width: 32,\n height: 32,\n minWidth: 32,\n minHeight: 32,\n },\n});\n\n/**\n * @typedef {object} Rgb\n * @property {number} r The red component of the color (0-255).\n * @property {number} g The green component of the color (0-255).\n * @property {number} b The blue component of the color (0-255).\n * @property {number} a The alpha component of the color (0-255).\n *\n * @typedef {string | Rgb | { rgb: Rgb }} Color Definition of a color.\n *\n * @typedef {object} ColorPickerProps\n * @property {boolean} [disabled] Set to true to disable the color picker.\n * @property {Color} [value] The currently selected color.\n * @property {(rgba: string) => void} [onChange] The color change callback.\n * @property {string} [name] The name.\n * @property {React.CSSProperties} [style] Additional styling for this component.\n * @property {string} [className] The CSS class name.\n * @property {boolean} [openAbove] Open the color picker above the field?\n *\n * @extends {React.Component<ColorPickerProps>}\n */\nclass ColorPicker extends React.Component {\n /**\n * @param {Readonly<ColorPickerProps>} props\n */\n constructor(props) {\n super(props);\n this.state = {\n displayColorPicker: false,\n color: this.props.value || this.props.color,\n anchorEl: null,\n };\n }\n\n /**\n * @private\n */\n handleClick = e => {\n this.setState({ displayColorPicker: !this.state.displayColorPicker, anchorEl: this.state.displayColorPicker ? null : e.currentTarget });\n };\n\n /**\n * @private\n */\n handleClose = () => {\n this.setState({ displayColorPicker: false, anchorEl: null });\n };\n\n /**\n * Convert the given color to hex ('#rrggbb') or rgba ('rgba(r,g,b,a)') format.\n * @param {Color} [color]\n * @param {boolean} [isHex] The returning string should be in hex format\n * @returns {string} the hex or rgba representation of the given color.\n */\n static getColor(color, isHex) {\n if (color && typeof color === 'object') {\n if (color.rgb) {\n if (isHex) {\n return `#${color.rgb.r.toString(16).padStart(2, '0')}${color.rgb.g.toString(16).padStart(2, '0')}${color.rgb.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${color.rgb.r},${color.rgb.g},${color.rgb.b},${color.rgb.a})`;\n }\n if (isHex) {\n return `#${color.r.toString(16).padStart(2, '0')}${color.g.toString(16).padStart(2, '0')}${color.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${color.r},${color.g},${color.b},${color.a})`;\n }\n return isHex ? ColorPicker.rgb2hex(color || '') : color || '';\n }\n\n /**\n * Convert rgb() or rgba() format to hex format #rrggbb.\n * @param {string} rgb\n * @returns {string}\n */\n static rgb2hex(rgb) {\n const m = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n\n const r = parseInt(m[1], 10).toString(16).padStart(2, '0');\n const g = parseInt(m[2], 10).toString(16).padStart(2, '0');\n const b = parseInt(m[3], 10).toString(16).padStart(2, '0');\n\n return m && m.length === 4 ? `#${r}${g}${b}` : rgb;\n }\n\n /**\n * @private\n */\n handleChange = color => {\n this.setState({ color }, () =>\n this.props.onChange && this.props.onChange(ColorPicker.getColor(color)));\n };\n\n /**\n * IF the props are updated from outside, they should override the state\n * @param _prevProps\n * @param prevState\n */\n componentDidUpdate(_prevProps, prevState) {\n const color = ColorPicker.getColor(this.props.color || this.props.value);\n\n if (color !== prevState.color) {\n this.setState({ color });\n }\n }\n\n renderCustomPalette() {\n if (!this.props.customPalette) {\n return null;\n }\n return <div style={{ width: '100%', display: 'flex', flexWrap: 'flex' }}>\n {this.props.customPalette.map(color =>\n <Button\n className={this.props.classes.button}\n key={color}\n onClick={() => {\n this.handleChange(color);\n setTimeout(() => this.handleClose(), 300);\n }}\n >\n <div className={this.props.classes.iconButton} style={{ background: color }} />\n </Button>)}\n </div>;\n }\n\n render() {\n const style = { ...(this.props.style || {}) };\n style.position = 'relative';\n const { color } = this.state;\n\n return <div\n style={style}\n className={this.props.className || ''}\n >\n <TextField\n disabled={this.props.disabled}\n variant=\"standard\"\n id=\"ar_color_picker_name\"\n style={color ? { width: 'calc(100% - 80px)' } : { width: 'calc(100% - 56px)', marginRight: 8 }}\n label={this.props.label || this.props.name || 'color'}\n value={color || ''}\n margin=\"dense\"\n classes={{ root: this.props.classes.textDense }}\n onChange={e => this.handleChange(e.target.value)}\n />\n {color ? <IconButton\n disabled={this.props.disabled}\n onClick={() => this.handleChange('')}\n size=\"small\"\n className={this.props.classes.delButton}\n style={color ? {} : { opacity: 0, cursor: 'default' }}\n >\n <IconDelete />\n </IconButton> : null}\n <div\n className={Utils.clsx(this.props.classes.swatch, this.props.disabled && this.props.classes.swatchDisabled)}\n onClick={e => !this.props.disabled && this.handleClick(e)}\n style={{\n background: color ? undefined : 'transparent',\n border: color ? undefined : '1px dashed #ccc',\n boxSizing: 'border-box',\n }}\n >\n <div className={this.props.classes.color} style={{ background: color }} />\n </div>\n {this.state.displayColorPicker && !this.props.disabled ? <Menu\n classes={{ paper: this.props.classes.popover, list: this.props.classes.popoverList }}\n anchorEl={this.state.anchorEl}\n open={!0}\n onClose={() => this.handleClose()}\n >\n <ChromePicker\n className={this.props.classes.picker}\n color={this.state.color || ''}\n onChangeComplete={_color => this.handleChange(_color)}\n styles={{ picker: { background: '#112233' } }}\n />\n <IconButton className={this.props.classes.closeButton} onClick={() => this.handleClose()}><IconClose /></IconButton>\n {this.renderCustomPalette()}\n </Menu> : null}\n </div>;\n }\n}\n\nColorPicker.propTypes = {\n disabled: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string,\n name: PropTypes.string, // same as label\n style: PropTypes.object,\n className: PropTypes.string,\n customPalette: PropTypes.array,\n};\n\n/** @type {typeof ColorPicker} */\nconst _export = withStyles(styles)(ColorPicker);\nexport default _export;\n"],"mappings":"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"}
@@ -345,9 +345,8 @@ var styles = function styles(theme) {
345
345
  paddingLeft: 2,
346
346
  paddingRight: 2,
347
347
  cursor: 'pointer',
348
- color: '#CCC',
349
348
  '&:hover': {
350
- background: '#333'
349
+ background: theme.palette.primary.main
351
350
  }
352
351
  },
353
352
  backgroundImageLight: {
@@ -1976,7 +1975,9 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1976
1975
  var _this26 = this;
1977
1976
  var parts = this.state.currentDir.startsWith('/') ? this.state.currentDir.split('/') : "/".concat(this.state.currentDir).split('/');
1978
1977
  var p = [];
1979
- return /*#__PURE__*/_react["default"].createElement(_material.Breadcrumbs, null, parts.map(function (part, i) {
1978
+ return /*#__PURE__*/_react["default"].createElement(_material.Breadcrumbs, {
1979
+ color: 'white'
1980
+ }, parts.map(function (part, i) {
1980
1981
  part && p.push(part);
1981
1982
  var path = p.join('/');
1982
1983
  if (i < parts.length - 1) {
@@ -1989,6 +1990,7 @@ var FileBrowser = /*#__PURE__*/function (_Component) {
1989
1990
  }, part || _this26.props.t('ra_Root'));
1990
1991
  }
1991
1992
  return /*#__PURE__*/_react["default"].createElement("div", {
1993
+ className: _this26.props.classes.pathDivBreadcrumbSelected,
1992
1994
  key: "".concat(_this26.state.selected, "_").concat(i),
1993
1995
  onClick: function onClick() {
1994
1996
  return _this26.setState({
@@ -1 +1 @@
1
- {"version":3,"file":"FileBrowser.js","names":["_react","_interopRequireWildcard","require","_styles","_propTypes","_interopRequireDefault","_reactDropzone","_material","_iconsMaterial","_Error","_Utils","_TextInput","_IconExpert","_IconClosed","_IconOpen","_IconNoIcon","_withWidth","_FileViewer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof3","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","ROW_HEIGHT","BUTTON_WIDTH","TILE_HEIGHT","TILE_WIDTH","NOT_FOUND","FILE_TYPE_ICONS","all","FileIcon","images","TypeIconImages","code","JSIcon","txt","TypeIconTxt","audio","TypeIconAudio","video","TypeIconVideo","styles","theme","dialog","height","concat","mixins","toolbar","minHeight","root","width","overflow","position","filesDiv","spacing","overflowX","overflowY","padding","filesDivHint","bottom","left","opacity","fontStyle","fontSize","filesDivTable","parseInt","filesDivTile","display","alignContent","alignItems","flexWrap","flex","itemTile","userSelect","cursor","textAlign","transition","margin","background","palette","secondary","light","color","Utils","invertColor","main","itemNameFolderTile","fontWeight","itemNameTile","textOverflow","wordBreak","itemFolderIconTile","paddingLeft","itemFolderIconBack","top","zIndex","mode","itemSizeTile","itemImageTile","objectFit","itemIconTile","itemSelected","primary","itemTable","lineHeight","itemNameTable","verticalAlign","flexGrow","itemNameFolderTable","itemSizeTable","itemAccessTable","paddingRight","justifyContent","itemImageTable","marginTop","maxHeight","itemIconTable","itemFolderTable","itemFolderTemp","itemFolderIconTable","marginLeft","itemDownloadButtonTable","minWidth","borderRadius","backgroundColor","paddingTop","itemDownloadEmptyTable","itemAclButtonTable","itemDeleteButtonTable","uploadDiv","right","uploadDivDragging","uploadCenterDiv","border","uploadCenterIcon","uploadCenterText","uploadCloseButton","uploadCenterTextAndIcon","menuButtonExpertActive","menuButtonRestrictActive","pathDiv","marginRight","whiteSpace","pathDivInput","pathDivBreadcrumbDir","backgroundImageLight","backgroundImageDark","backgroundImageColored","direction","specialFolder","USER_DATA","sortFolders","b","folder","name","getParentDir","dir","parts","split","length","pop","join","isFile","path","ext","getFileExtension","toLowerCase","match","TABLE","TILE","FileBrowser","_Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","id","fileName","size","key","pos","lastIndexOf","substring","console","log","state","folders","_tempTimeout","clearTimeout","setTimeout","browseFolder","then","setState","array","_ref","backgroundImage","indexOf","window","_localStorage","localStorage","setItem","classes","expanded","getItem","limitPath","limitToObjectID","limitToPath","endsWith","JSON","parse","filter","startsWith","viewType","showViewTypeButton","selected","currentDir","restrictToFolder","push","Array","isArray","filterEmpty","expertMode","addFolder","uploadFile","deleteItem","viewer","formatEditFile","errorText","modalEditOfAccess","queueLength","loadAllFolders","fileErrors","filterByType","showTypesMenu","imagePrefix","levelPadding","mounted","suppressDeleteConfirm","browseList","browseListRunning","initialReadFinished","supportSubscribes","_createClass2","value","_loadFolders","_asyncToGenerator2","_regenerator","mark","_callee","_this2","wrap","_callee$","_context","prev","next","sent","browseFolders","_toConsumableArray2","findItem","pathFocus","scrollToSelected","stop","loadFolders","el","document","getElementById","scrollIntoView","componentDidMount","_this3","socket","checkFeatureSupported","subscribeFiles","onFileChange","componentWillUnmount","unsubscribeFiles","values","forEach","timer","foldersList","_newFolders","_resolve","_this4","keys","Promise","resolve","shift","readDirSerial","adapter","relPath","_this5","reject","processBrowseList","level","_this6","processing","readDir","files","item","folderId","_checkEmpty","force","_this7","map","error","readMetaItems","objs","_folders","userData","obj","_id","findIndex","splice","title","common","meta","from","ts","icon","acl","sort","unshift","alert","file","isDir","stats","modified","modifiedAt","toggleFolder","_this8","stopPropagation","stringify","temp","err","changeFolder","_this9","lastSelect","Date","now","_folder","altKey","shiftKey","ctrlKey","metaKey","onSelect","select","cb","_this10","filterFiles","includes","EXTENSIONS","renderFolder","_this11","Icon","IconOpen","IconClosed","isUserData","isSpecialData","createElement","style","onClick","onDoubleClick","_typeof2","lang","end","className","clsx","undefined","Hidden","smDown","formatAcl","allowDownload","allowDelete","IconButton","Delete","renderBackFolder","_this12","ArrowBack","formatSize","formatBytes","_this13","access","permissions","toString","padStart","getFileIcon","Bookmark","BookmarkBorder","Code","Description","MusicNote","InsertDriveFile","renderFile","_this14","getClassBackgroundImage","onError","target","onerror","src","alt","getEditFile","Edit","tabIndex","download","href","SaveAlt","renderItems","_this15","res","CircularProgress","renderToolbar","_this16","IconType","showTypeSelector","isInFolder","findFirstFolder","Toolbar","variant","allowNonRestricted","edge","menuButton","FolderSpecial","showExpertButton","List","ViewModule","FolderOpen","Refresh","allowCreateFolder","disabled","CreateNewFolder","allowUpload","Publish","Tooltip","Menu","open","anchorEl","onClose","type","MyIcon","MenuItem","removeItem","ListItemIcon","ListItemText","setStateBackgroundImage","Brightness6","parentFolder","find","renderInputDialog","_this17","applyText","cancelText","titleText","promptText","labelText","verify","text","parent","replace","componentDidUpdate","_this18","setOpacityTimer","items","getElementsByClassName","data","writeFile64","_item","renderUpload","_this19","Fab","Close","onDragEnter","onDragLeave","onDrop","acceptedFiles","count","reader","FileReader","onabort","onload","readAsArrayBuffer","_ref2","getRootProps","getInputProps","_extends2","deleteRecursive","_this20","deleteFolder","parentId","f","deleteFile","_this21","newState","renderDeleteDialog","_this22","Dialog","DialogTitle","DialogContent","DialogContentText","DialogActions","Button","autoFocus","renderViewDialog","_this23","themeName","renderError","_this24","changeToPath","_this25","renderBreadcrumb","_this26","p","Breadcrumbs","part","renderPath","_this27","Input","onKeyDown","keyCode","endAdornment","KeyboardReturn","onBlur","onChange","render","_this28","ready","LinearProgress","foldersLoading","showToolbar","allowView","modalEditOfAccessControl","modalEditOfAccessObjData","getDerivedStateFromProps","Component","defaultProps","propTypes","PropTypes","object","string","func","isRequired","bool","tileView","_export","withWidth","withStyles","_default","exports"],"sources":["FileBrowser.js"],"sourcesContent":["/**\n * Copyright 2020-2023, Denis Haev <dogafox@gmail.com>\n *\n * MIT License\n *\n * */\nimport React, { Component } from 'react';\nimport { withStyles } from '@mui/styles';\nimport PropTypes from 'prop-types';\nimport Dropzone from 'react-dropzone';\n\nimport {\n LinearProgress,\n Hidden,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Tooltip,\n CircularProgress,\n Toolbar,\n IconButton,\n Fab,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n DialogActions,\n Button,\n Input,\n Breadcrumbs,\n} from '@mui/material';\n\n// MUI Icons\nimport {\n Refresh as RefreshIcon,\n Close as CloseIcon,\n Bookmark as JsonIcon,\n BookmarkBorder as CssIcon,\n Description as HtmlIcon,\n Edit as EditIcon,\n Code as JSIcon,\n InsertDriveFile as FileIcon,\n Publish as UploadIcon,\n MusicNote as MusicIcon,\n SaveAlt as DownloadIcon,\n CreateNewFolder as AddFolderIcon,\n FolderOpen as EmptyFilterIcon,\n List as IconList,\n ViewModule as IconTile,\n ArrowBack as IconBack,\n Delete as DeleteIcon,\n Brightness6 as Brightness5Icon,\n Image as TypeIconImages,\n FontDownload as TypeIconTxt,\n AudioFile as TypeIconAudio,\n Videocam as TypeIconVideo,\n KeyboardReturn as EnterIcon,\n FolderSpecial as RestrictedIcon,\n} from '@mui/icons-material';\n\nimport ErrorDialog from '../Dialogs/Error';\nimport Utils from './Utils';\nimport TextInputDialog from '../Dialogs/TextInput';\n\n// Custom Icons\nimport ExpertIcon from '../icons/IconExpert';\nimport IconClosed from '../icons/IconClosed';\nimport IconOpen from '../icons/IconOpen';\nimport IconNoIcon from '../icons/IconNoIcon';\n\nimport withWidth from './withWidth';\n\nimport FileViewer, { EXTENSIONS } from './FileViewer';\n\nconst ROW_HEIGHT = 32;\nconst BUTTON_WIDTH = 32;\nconst TILE_HEIGHT = 120;\nconst TILE_WIDTH = 64;\n\nconst NOT_FOUND = 'Not found';\n\nconst FILE_TYPE_ICONS = {\n all: FileIcon,\n images: TypeIconImages,\n code: JSIcon,\n txt: TypeIconTxt,\n audio: TypeIconAudio,\n video: TypeIconVideo,\n};\n\nconst styles = theme => ({\n dialog: {\n height: `calc(100% - ${theme.mixins.toolbar.minHeight}px)`,\n },\n root: {\n width: '100%',\n overflow: 'hidden',\n height: '100%',\n position: 'relative',\n },\n filesDiv: {\n width: `calc(100% - ${theme.spacing(2)})`,\n overflowX: 'hidden',\n overflowY: 'auto',\n padding: theme.spacing(1),\n },\n filesDivHint: {\n position: 'absolute',\n bottom: 0,\n left: 20,\n opacity: 0.7,\n fontStyle: 'italic',\n fontSize: 12,\n },\n filesDivTable: {\n height: `calc(100% - ${48 + parseInt(theme.spacing(1), 10)}px)`,\n },\n filesDivTile: {\n height: `calc(100% - ${48 * 2 + parseInt(theme.spacing(1), 10)}px)`,\n display: 'flex',\n alignContent: 'flex-start',\n alignItems: 'stretch',\n flexWrap: 'wrap',\n flex: `0 0 ${TILE_WIDTH}px`,\n },\n\n itemTile: {\n position: 'relative',\n userSelect: 'none',\n cursor: 'pointer',\n height: TILE_HEIGHT,\n width: TILE_WIDTH,\n display: 'inline-block',\n textAlign: 'center',\n opacity: 0.1,\n transition: 'opacity 1s',\n margin: 4,\n '&:hover': {\n background: theme.palette.secondary.light,\n color: Utils.invertColor(theme.palette.secondary.main, true),\n },\n },\n itemNameFolderTile: {\n fontWeight: 'bold',\n },\n itemNameTile: {\n width: '100%',\n height: 32,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n fontSize: 12,\n textAlign: 'center',\n wordBreak: 'break-all',\n },\n itemFolderIconTile: {\n width: '100%',\n height: TILE_HEIGHT - 32 - 16 - 8, // name + size\n display: 'block',\n paddingLeft: 8,\n color: theme.palette.secondary.main || '#fbff7d',\n },\n itemFolderIconBack: {\n position: 'absolute',\n top: 22,\n left: 18,\n zIndex: 1,\n color: theme.palette.mode === 'dark' ? '#FFF' : '#000',\n },\n itemSizeTile: {\n width: '100%',\n height: 16,\n textAlign: 'center',\n fontSize: 10,\n },\n itemImageTile: {\n width: 'calc(100% - 8px)',\n height: TILE_HEIGHT - 32 - 16 - 8, // name + size\n margin: 4,\n display: 'block',\n textAlign: 'center',\n objectFit: 'contain',\n },\n itemIconTile: {\n width: '100%',\n height: TILE_HEIGHT - 32 - 16 - 8, // name + size\n display: 'block',\n objectFit: 'contain',\n },\n\n itemSelected: {\n background: theme.palette.primary.main,\n color: Utils.invertColor(theme.palette.primary.main, true),\n },\n\n itemTable: {\n userSelect: 'none',\n cursor: 'pointer',\n height: ROW_HEIGHT,\n display: 'inline-flex',\n lineHeight: `${ROW_HEIGHT}px`,\n '&:hover': {\n background: theme.palette.secondary.light,\n color: Utils.invertColor(theme.palette.secondary.main, true),\n },\n },\n itemNameTable: {\n display: 'inline-block',\n paddingLeft: 10,\n fontSize: '1rem',\n verticalAlign: 'top',\n flexGrow: 1,\n },\n itemNameFolderTable: {\n fontWeight: 'bold',\n },\n itemSizeTable: {\n display: 'inline-block',\n width: 60,\n verticalAlign: 'top',\n textAlign: 'right',\n },\n itemAccessTable: {\n // display: 'inline-block',\n verticalAlign: 'top',\n width: 60,\n textAlign: 'right',\n paddingRight: 5,\n display: 'flex',\n justifyContent: 'center',\n },\n itemImageTable: {\n display: 'inline-block',\n width: 30,\n marginTop: 1,\n objectFit: 'contain',\n maxHeight: 30,\n },\n itemIconTable: {\n display: 'inline-block',\n marginTop: 1,\n width: 30,\n height: 30,\n },\n itemFolderTable: {\n\n },\n itemFolderTemp: {\n opacity: 0.4,\n },\n itemFolderIconTable: {\n marginTop: 1,\n marginLeft: theme.spacing(1),\n display: 'inline-block',\n width: 30,\n height: 30,\n color: theme.palette.secondary.main || '#fbff7d',\n },\n itemDownloadButtonTable: {\n display: 'inline-block',\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n verticalAlign: 'middle',\n textAlign: 'center',\n padding: 0,\n borderRadius: BUTTON_WIDTH / 2,\n '&:hover': {\n backgroundColor: theme.palette.mode === 'dark' ? 'rgba(255, 255, 255, 0.08)' : 'rgba(0, 0, 0, 0.08)',\n },\n '& span': {\n paddingTop: 9,\n },\n '& svg': {\n width: 14,\n height: 14,\n fontSize: '1rem',\n marginTop: -3,\n verticalAlign: 'middle',\n color: theme.palette.mode === 'dark' ? '#EEE' : '#111',\n },\n },\n itemDownloadEmptyTable: {\n display: 'inline-block',\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n padding: 0,\n },\n itemAclButtonTable: {\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n verticalAlign: 'top',\n padding: 0,\n fontSize: 12,\n display: 'flex',\n },\n itemDeleteButtonTable: {\n display: 'inline-block',\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n verticalAlign: 'top',\n padding: 0,\n '& svg': {\n width: 18,\n height: 18,\n fontSize: '1.5rem',\n },\n },\n\n uploadDiv: {\n top: 0,\n zIndex: 1,\n bottom: 0,\n left: 0,\n right: 0,\n position: 'absolute',\n opacity: 0.9,\n textAlign: 'center',\n background: '#FFFFFF',\n },\n uploadDivDragging: {\n opacity: 1,\n },\n\n uploadCenterDiv: {\n margin: 20,\n border: '3px dashed grey',\n borderRadius: 30,\n width: 'calc(100% - 40px)',\n height: 'calc(100% - 40px)',\n position: 'relative',\n color: theme.palette.mode === 'dark' ? '#222' : '#CCC',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n uploadCenterIcon: {\n width: '25%',\n height: '25%',\n },\n uploadCenterText: {\n fontSize: 24,\n fontWeight: 'bold',\n },\n uploadCloseButton: {\n zIndex: 2,\n position: 'absolute',\n top: 30,\n right: 30,\n },\n uploadCenterTextAndIcon: {\n position: 'absolute',\n height: '30%',\n width: '100%',\n margin: 'auto',\n opacity: 0.3,\n },\n menuButtonExpertActive: {\n color: '#c00000',\n },\n menuButtonRestrictActive: {\n color: '#c05000',\n },\n pathDiv: {\n display: 'flex',\n width: `calc(100% - ${theme.spacing(2)})`,\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1),\n textOverflow: 'clip',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n backgroundColor: theme.palette.secondary.main,\n },\n pathDivInput: {\n width: '100%',\n },\n pathDivBreadcrumbDir: {\n paddingLeft: 2,\n paddingRight: 2,\n cursor: 'pointer',\n color: '#CCC',\n '&:hover': {\n background: '#333',\n },\n },\n backgroundImageLight: {\n background: 'white',\n },\n backgroundImageDark: {\n background: 'black',\n },\n backgroundImageColored: {\n background: 'silver',\n },\n '@media screen and (max-width: 500px)': {\n itemNameTable: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n textAlign: 'end',\n direction: 'rtl',\n },\n },\n specialFolder: {\n color: theme.palette.mode === 'dark' ? '#229b0f' : '#5dd300',\n },\n});\n\nconst USER_DATA = '0_userdata.0';\n\nfunction sortFolders(a, b) {\n if (a.folder && b.folder) {\n return a.name > b.name ? 1 : (a.name < b.name ? -1 : 0);\n }\n if (a.folder) {\n return -1;\n }\n if (b.folder) {\n return 1;\n }\n return a.name > b.name ? 1 : (a.name < b.name ? -1 : 0);\n}\n\nfunction getParentDir(dir) {\n const parts = (dir || '').split('/');\n parts.length && parts.pop();\n return parts.join('/');\n}\n\nfunction isFile(path) {\n const ext = Utils.getFileExtension(path);\n return !!(ext && ext.toLowerCase().match(/[a-z]+/) && ext.length < 5);\n}\n\nconst TABLE = 'Table';\nconst TILE = 'Tile';\n\n/**\n * @extends {React.Component<import('./types').FileBrowserProps>}\n */\nclass FileBrowser extends Component {\n /**\n * @param {Readonly<import(\"./types\").FileBrowserProps>} props\n */\n constructor(props) {\n super(props);\n let expanded = (window._localStorage || window.localStorage).getItem('files.expanded') || '[]';\n\n if (this.props.limitPath) {\n const parts = this.props.limitPath.split('/');\n this.limitToObjectID = parts[0];\n this.limitToPath = !parts.length ? null : (parts.length === 1 && parts[0] === '' ? null : parts.join('/'));\n if (this.limitToPath && this.limitToPath.endsWith('/')) {\n this.limitToPath.substring(0, this.limitToPath.length - 1);\n }\n }\n\n try {\n expanded = JSON.parse(expanded);\n if (this.limitToPath) {\n expanded = expanded.filter(id => id.startsWith(`${this.limitToPath}/`) || id === this.limitToPath || this.limitToPath.startsWith(`${id}/`));\n }\n } catch (e) {\n expanded = [];\n }\n\n let viewType;\n if (this.props.showViewTypeButton) {\n viewType = (window._localStorage || window.localStorage).getItem('files.viewType') || TABLE;\n } else {\n viewType = TABLE;\n }\n\n let selected = this.props.selected || (window._localStorage || window.localStorage).getItem('files.selected') || USER_DATA;\n\n let currentDir = '';\n\n const backgroundImage = (window._localStorage || window.localStorage).getItem('files.backgroundImage') || null;\n\n if (props.restrictToFolder) {\n selected = props.restrictToFolder;\n currentDir = props.restrictToFolder;\n const parts = props.restrictToFolder.split('/');\n expanded = [];\n let path = '';\n for (let i = 0; i < parts.length; i++) {\n path += (path ? '/' : '') + parts[i];\n expanded.push(path);\n }\n } else {\n // TODO: Now we do not support multiple selection\n if (Array.isArray(selected)) {\n selected = selected[0];\n }\n\n if (isFile(selected)) {\n currentDir = getParentDir(selected);\n } else {\n currentDir = selected;\n }\n }\n\n this.state = {\n viewType,\n folders: {},\n filterEmpty: (window._localStorage || window.localStorage).getItem('files.empty') !== 'false',\n expanded,\n currentDir,\n expertMode: this.props.expertMode,\n addFolder: false,\n uploadFile: false,\n deleteItem: '',\n // marked: [],\n viewer: '',\n formatEditFile: '',\n path: selected,\n selected,\n errorText: '',\n modalEditOfAccess: false,\n backgroundImage,\n queueLength: 0,\n loadAllFolders: false,\n // allFoldersLoaded: false,\n fileErrors: [],\n filterByType: props.filterByType || window.localStorage.getItem('files.filterByType') || '',\n showTypesMenu: null,\n restrictToFolder: props.restrictToFolder || '',\n };\n\n this.imagePrefix = this.props.imagePrefix || './files/';\n\n this.levelPadding = this.props.levelPadding || 20;\n this.mounted = true;\n this.suppressDeleteConfirm = 0;\n\n this.browseList = [];\n this.browseListRunning = false;\n this.initialReadFinished = false;\n this.supportSubscribes = null;\n this._tempTimeout = {};\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.expertMode !== undefined && props.expertMode !== state.expertMode) {\n return { expertMode: props.expertMode, loadAllFolders: true };\n }\n\n return null;\n }\n\n async loadFolders() {\n this.initialReadFinished = false;\n\n let folders = await this.browseFolder('/');\n\n if (this.state.viewType === TABLE) {\n folders = await this.browseFolders([...this.state.expanded], folders);\n } else if (\n this.state.currentDir &&\n this.state.currentDir !== '/' &&\n (!this.limitToObjectID || this.state.currentDir.startsWith(this.limitToObjectID))\n ) {\n folders = await this.browseFolder(this.state.currentDir, folders);\n }\n\n this.setState({ folders }, () => {\n if (this.state.viewType === TABLE && !this.findItem(this.state.selected)) {\n const parts = this.state.selected.split('/');\n while (parts.length && !this.findItem(parts.join('/'))) {\n parts.pop();\n }\n let selected;\n if (parts.length) {\n selected = parts.join('/');\n } else {\n selected = USER_DATA;\n }\n this.setState({ selected, path: selected, pathFocus: false }, () => this.scrollToSelected());\n } else {\n this.scrollToSelected();\n }\n this.initialReadFinished = true;\n });\n }\n\n scrollToSelected() {\n if (this.mounted) {\n const el = document.getElementById(this.state.selected);\n el && el.scrollIntoView();\n }\n }\n\n componentDidMount() {\n this.mounted = true;\n this.loadFolders();\n return this.props.socket.checkFeatureSupported('BINARY_STATE_EVENT')\n .then(result => {\n this.supportSubscribes = result;\n this.supportSubscribes && this.props.socket.subscribeFiles('*', '*', this.onFileChange);\n });\n }\n\n componentWillUnmount() {\n this.supportSubscribes && this.props.socket.unsubscribeFiles('*', '*', this.onFileChange);\n this.mounted = false;\n this.browseList = null;\n this.browseListRunning = false;\n Object.values(this._tempTimeout)\n .forEach(timer => timer && clearTimeout(timer));\n this._tempTimeout = {};\n }\n\n browseFolders(foldersList, _newFolders, _resolve) {\n if (!_newFolders) {\n _newFolders = {};\n Object.keys(this.state.folders).forEach(folder => _newFolders[folder] = this.state.folders[folder]);\n }\n\n if (!_resolve) {\n return new Promise(resolve => {\n this.browseFolders(foldersList, _newFolders, resolve);\n });\n }\n\n if (!foldersList || !foldersList.length) {\n return _resolve(_newFolders);\n }\n\n return this.browseFolder(foldersList.shift(), _newFolders)\n .then(() => setTimeout(() => this.browseFolders(foldersList, _newFolders, _resolve), 0))\n .catch(() => setTimeout(() => this.browseFolders(foldersList, _newFolders, _resolve), 0));\n }\n\n readDirSerial(adapter, relPath) {\n return new Promise((resolve, reject) => {\n if (this.browseList) { // if component still mounted\n this.browseList.push({\n resolve, reject, adapter, relPath,\n });\n !this.browseListRunning && this.processBrowseList();\n }\n });\n }\n\n processBrowseList(level) {\n if (!this.browseListRunning && this.browseList && this.browseList.length) {\n this.browseListRunning = true;\n if (this.browseList.length > 10) {\n // not too often\n if (!(this.browseList.length % 10)) {\n this.setState({ queueLength: this.browseList.length });\n }\n } else {\n this.setState({ queueLength: this.browseList.length });\n }\n\n this.browseList[0].processing = true;\n this.props.socket.readDir(this.browseList[0].adapter, this.browseList[0].relPath)\n .then(files => {\n if (this.browseList) { // if component still mounted\n const item = this.browseList.shift();\n if (item) {\n const resolve = item.resolve;\n item.resolve = null;\n item.reject = null;\n item.adapter = null;\n item.relPath = null;\n resolve(files);\n this.browseListRunning = false;\n if (this.browseList.length) {\n if (level < 5) {\n this.processBrowseList(level + 1);\n } else {\n setTimeout(() => this.processBrowseList(0), 0);\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n }\n })\n .catch(e => {\n if (this.browseList) { // if component still mounted\n const item = this.browseList.shift();\n if (item) {\n const reject = item.reject;\n item.resolve = null;\n item.reject = null;\n item.adapter = null;\n item.relPath = null;\n reject(e);\n this.browseListRunning = false;\n if (this.browseList.length) {\n if (level < 5) {\n this.processBrowseList(level + 1);\n } else {\n setTimeout(() => this.processBrowseList(0), 0);\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n }\n });\n }\n }\n\n browseFolder(folderId, _newFolders, _checkEmpty, force) {\n if (typeof _newFolders === 'boolean') {\n force = _newFolders;\n _newFolders = null;\n }\n\n if (!_newFolders) {\n _newFolders = {};\n Object.keys(this.state.folders).forEach(folder =>\n _newFolders[folder] = this.state.folders[folder]);\n }\n\n if (_newFolders[folderId] && !force) {\n if (!_checkEmpty) {\n return new Promise((resolve, reject) => {\n Promise.all(_newFolders[folderId].filter(item => item.folder).map(item =>\n this.browseFolder(item.id, _newFolders, true)\n .catch(() => { })))\n .then(() => resolve(_newFolders))\n .catch(error => reject(error));\n });\n }\n\n return Promise.resolve(_newFolders);\n }\n\n if (!folderId || folderId === '/') {\n return this.props.socket.readMetaItems()\n .then(objs => {\n const _folders = [];\n let userData = null;\n\n if (this.state.restrictToFolder) {\n const adapter = this.state.restrictToFolder.split('/')[0];\n objs = objs.filter(obj => obj._id === adapter);\n } else if (!this.state.expertMode) {\n // load only adapter.admin and not other meta files like hm-rpc.0.devices.blablabla\n objs = objs.filter(obj => !obj._id.endsWith('.admin'));\n }\n\n const pos = objs.findIndex(obj => obj._id === 'system.meta.uuid');\n if (pos !== -1) {\n objs.splice(pos, 1);\n }\n\n objs.forEach(obj => {\n if (this.limitToObjectID && this.limitToObjectID !== obj._id) {\n return;\n }\n\n const item = {\n id: obj._id,\n name: obj._id,\n title: (obj.common && obj.common.name) || obj._id,\n meta: true,\n from: obj.from,\n ts: obj.ts,\n color: obj.common && obj.common.color,\n icon: obj.common && obj.common.icon,\n folder: true,\n acl: obj.acl,\n level: 0,\n };\n if (item.id === USER_DATA) {\n // user data must be first\n userData = item;\n } else {\n _folders.push(item);\n }\n });\n _folders.sort((a, b) => (a.id > b.id ? 1 : (a.id < b.id ? -1 : 0)));\n if (!this.limitToObjectID || this.limitToObjectID === USER_DATA) {\n userData && _folders.unshift(userData);\n }\n\n _newFolders[folderId || '/'] = _folders;\n\n if (!_checkEmpty) {\n return Promise.all(_folders.filter(item => item.folder).map(item =>\n this.browseFolder(item.id, _newFolders, true)\n .catch(() => { })))\n .then(() => _newFolders);\n }\n\n return _newFolders;\n })\n .catch(e => this.initialReadFinished && window.alert(`Cannot read meta items: ${e}`));\n }\n\n const parts = folderId.split('/');\n const level = parts.length;\n const adapter = parts.shift();\n const relPath = parts.join('/');\n\n // make all requests here serial\n return this.readDirSerial(adapter, relPath)\n .then(files => {\n const _folders = [];\n\n files.forEach(file => {\n const item = {\n id: `${folderId}/${file.file}`,\n ext: Utils.getFileExtension(file.file),\n folder: file.isDir,\n name: file.file,\n size: file.stats && file.stats.size,\n modified: file.modifiedAt,\n acl: file.acl,\n level,\n };\n\n if (this.state.restrictToFolder) {\n if (item.folder && (item.id.startsWith(`${this.state.restrictToFolder}/`) || item.id === this.state.restrictToFolder || this.state.restrictToFolder.startsWith(`${item.id}/`))) {\n _folders.push(item);\n } else if (item.id.startsWith(`${this.state.restrictToFolder}/`)) {\n _folders.push(item);\n }\n } else if (this.limitToPath) {\n if (item.folder && (item.id.startsWith(`${this.limitToPath}/`) || item.id === this.limitToPath || this.limitToPath.startsWith(`${item.id}/`))) {\n _folders.push(item);\n } else if (item.id.startsWith(`${this.limitToPath}/`)) {\n _folders.push(item);\n }\n } else {\n _folders.push(item);\n }\n });\n\n _folders.sort(sortFolders);\n _newFolders[folderId] = _folders;\n\n if (!_checkEmpty) {\n return Promise.all(_folders\n .filter(item => item.folder)\n .map(item => this.browseFolder(item.id, _newFolders, true)))\n .then(() => _newFolders);\n }\n\n return _newFolders;\n })\n .catch(e => {\n this.initialReadFinished && window.alert(`Cannot read ${adapter}${relPath ? `/${relPath}` : ''}: ${e}`);\n _newFolders[folderId] = [];\n return _newFolders;\n });\n }\n\n toggleFolder(item, e) {\n e && e.stopPropagation();\n const expanded = [...this.state.expanded];\n const pos = expanded.indexOf(item.id);\n if (pos === -1) {\n expanded.push(item.id);\n expanded.sort();\n\n (window._localStorage || window.localStorage).setItem('files.expanded', JSON.stringify(expanded));\n\n if (!item.temp) {\n this.browseFolder(item.id)\n .then(folders => this.setState({ expanded, folders }))\n .catch(err => window.alert(err === NOT_FOUND ? this.props.t('ra_Cannot find \"%s\"', item.id) : this.props.t('ra_Cannot read \"%s\"', item.id)));\n } else {\n this.setState({ expanded });\n }\n } else {\n expanded.splice(pos, 1);\n (window._localStorage || window.localStorage).setItem('files.expanded', JSON.stringify(expanded));\n this.setState({ expanded });\n }\n }\n\n onFileChange = (id, fileName, size) => {\n const key = `${id}/${fileName}`;\n const pos = key.lastIndexOf('/');\n const folder = key.substring(0, pos);\n console.log(`File changed ${key}[${size}]`);\n\n if (this.state.folders[folder]) {\n this._tempTimeout[folder] && clearTimeout(this._tempTimeout[folder]);\n\n this._tempTimeout[folder] = setTimeout(() => {\n delete this._tempTimeout[folder];\n\n this.browseFolder(folder, true)\n .then(folders => this.setState({ folders }));\n }, 300);\n }\n };\n\n changeFolder(e, folder) {\n e && e.stopPropagation();\n\n this.lastSelect = Date.now();\n\n let _folder = folder || getParentDir(this.state.currentDir);\n\n if (_folder === '/') {\n _folder = '';\n }\n\n (window._localStorage || window.localStorage).setItem('files.currentDir', _folder);\n\n if (folder && e && (e.altKey || e.shiftKey || e.ctrlKey || e.metaKey)) {\n return this.setState({ selected: _folder });\n }\n\n if (_folder && !this.state.folders[_folder]) {\n return this.browseFolder(_folder)\n .then(folders =>\n this.setState({\n folders,\n path: _folder,\n currentDir: _folder,\n selected: _folder,\n pathFocus: false,\n }, () =>\n this.props.onSelect && this.props.onSelect('')));\n }\n\n return this.setState({\n currentDir: _folder,\n selected: _folder,\n path: _folder,\n pathFocus: false,\n }, () =>\n this.props.onSelect && this.props.onSelect(''));\n }\n\n select(id, e, cb) {\n if (typeof e === 'function') {\n cb = e;\n e = null;\n }\n e && e.stopPropagation();\n this.lastSelect = Date.now();\n\n (window._localStorage || window.localStorage).setItem('files.selected', id);\n\n this.setState({ selected: id, path: id, pathFocus: false }, () => {\n if (this.props.onSelect) {\n const ext = Utils.getFileExtension(id);\n if ((!this.props.filterFiles || this.props.filterFiles.includes(ext)) &&\n (!this.state.filterByType || EXTENSIONS[this.state.filterByType].includes(ext))\n ) {\n this.props.onSelect(id, false, !!this.state.folders[id]);\n } else {\n this.props.onSelect('');\n }\n }\n cb && cb();\n });\n }\n\n renderFolder(item, expanded) {\n if (this.state.filterEmpty && (!this.state.folders[item.id] || !this.state.folders[item.id].length) && item.id !== USER_DATA && !item.temp) {\n return null;\n }\n const Icon = expanded ? IconOpen : IconClosed;\n const padding = this.state.viewType === TABLE ? item.level * this.levelPadding : 0;\n const isUserData = item.name === USER_DATA;\n const isSpecialData = isUserData || item.name === 'vis.0' || item.name === 'vis-2-beta.0';\n\n return <div\n key={item.id}\n id={item.id}\n style={this.state.viewType === TABLE ? { marginLeft: padding, width: `calc(100% - ${padding}px` } : {}}\n onClick={e => (this.state.viewType === TABLE ? this.select(item.id, e) : this.changeFolder(e, item.id))}\n onDoubleClick={e => this.state.viewType === TABLE && this.toggleFolder(item, e)}\n title={item.title && typeof item.title === 'object' ? (item.title[this.props.lang] || item.title.end || '') : (item.title || null)}\n className={Utils.clsx(\n 'browserItem',\n this.props.classes[`item${this.state.viewType}`],\n this.props.classes[`itemFolder${this.state.viewType}`],\n this.state.selected === item.id && this.props.classes.itemSelected,\n item.temp && this.props.classes.itemFolderTemp,\n )}\n >\n <Icon\n className={Utils.clsx(this.props.classes[`itemFolderIcon${this.state.viewType}`], isSpecialData && this.props.classes.specialFolder)}\n onClick={this.state.viewType === TABLE ? e => this.toggleFolder(item, e) : undefined}\n />\n\n <div className={Utils.clsx(this.props.classes[`itemName${this.state.viewType}`], this.props.classes[`itemNameFolder${this.state.viewType}`])}>{isUserData ? this.props.t('ra_User files') : item.name}</div>\n\n <Hidden smDown>\n <div className={this.props.classes[`itemSize${this.state.viewType}`]}>{this.state.viewType === TABLE && this.state.folders[item.id] ? this.state.folders[item.id].length : ''}</div>\n </Hidden>\n\n <Hidden smDown>\n {this.state.viewType === TABLE ? this.formatAcl(item.acl) : null}\n </Hidden>\n\n <Hidden smDown>\n {this.state.viewType === TABLE && this.props.expertMode ? <div className={this.props.classes[`itemDeleteButton${this.state.viewType}`]} /> : null}\n </Hidden>\n {this.state.viewType === TABLE && this.props.allowDownload ? <div className={this.props.classes[`itemDownloadEmpty${this.state.viewType}`]} /> : null}\n\n {this.state.viewType === TABLE && this.props.allowDelete && this.state.folders[item.id] && this.state.folders[item.id].length ?\n <IconButton\n aria-label=\"delete\"\n onClick={e => {\n e.stopPropagation();\n if (this.suppressDeleteConfirm > Date.now()) {\n this.deleteItem(item.id);\n } else {\n this.setState({ deleteItem: item.id });\n }\n }}\n className={this.props.classes[`itemDeleteButton${this.state.viewType}`]}\n size=\"large\"\n >\n <DeleteIcon fontSize=\"small\" />\n </IconButton>\n :\n (this.state.viewType === TABLE && this.props.allowDelete ? <div className={this.props.classes[`itemDeleteButton${this.state.viewType}`]} /> : null)}\n </div>;\n }\n\n renderBackFolder() {\n return <div\n key={this.state.currentDir}\n id={this.state.currentDir}\n onClick={e => this.changeFolder(e)}\n title={this.props.t('ra_Back to %s', getParentDir(this.state.currentDir))}\n className={Utils.clsx(\n 'browserItem',\n this.props.classes[`item${this.state.viewType}`],\n this.props.classes[`itemFolder${this.state.viewType}`],\n )}\n >\n <IconClosed className={this.props.classes[`itemFolderIcon${this.state.viewType}`]} />\n <IconBack className={this.props.classes.itemFolderIconBack} />\n\n <div\n className={Utils.clsx(this.props.classes[`itemName${this.state.viewType}`], this.props.classes[`itemNameFolder${this.state.viewType}`])}\n >\n..\n </div>\n </div>;\n }\n\n formatSize(size) {\n return <div className={this.props.classes[`itemSize${this.state.viewType}`]}>{size || size === 0 ? Utils.formatBytes(size) : ''}</div>;\n }\n\n formatAcl(acl) {\n let access = acl && (acl.permissions || acl.file);\n if (access) {\n access = access.toString(16).padStart(3, '0');\n }\n\n return <div className={this.props.classes[`itemAccess${this.state.viewType}`]}>\n <IconButton\n size=\"large\"\n onClick={() => this.setState({ modalEditOfAccess: true })}\n className={this.props.classes[`itemAclButton${this.state.viewType}`]}\n >\n {access || '---'}\n </IconButton>\n </div>;\n }\n\n getFileIcon(ext) {\n switch (ext) {\n case 'json':\n case 'json5':\n return <JsonIcon className={this.props.classes[`itemIcon${this.state.viewType}`]} />;\n\n case 'css':\n return <CssIcon className={this.props.classes[`itemIcon${this.state.viewType}`]} />;\n\n case 'js':\n case 'ts':\n return <JSIcon className={this.props.classes[`itemIcon${this.state.viewType}`]} />;\n\n case 'html':\n case 'md':\n return <HtmlIcon className={this.props.classes[`itemIcon${this.state.viewType}`]} />;\n\n case 'mp3':\n case 'ogg':\n case 'wav':\n case 'm4a':\n case 'mp4':\n case 'flac':\n return <MusicIcon className={this.props.classes[`itemIcon${this.state.viewType}`]} />;\n\n default:\n return <FileIcon className={this.props.classes[`itemIcon${this.state.viewType}`]} />;\n }\n }\n\n static getEditFile(ext) {\n switch (ext) {\n case 'json':\n case 'json5':\n case 'js':\n case 'html':\n case 'txt':\n case 'css':\n case 'log':\n return true;\n default:\n return false;\n }\n }\n\n setStateBackgroundImage = () => {\n const array = ['light', 'dark', 'colored', 'delete'];\n this.setState(({ backgroundImage }) => {\n if (array.indexOf(backgroundImage) !== -1 && array.length - 1 !== array.indexOf(backgroundImage)) {\n (window._localStorage || window.localStorage).setItem('files.backgroundImage', array[array.indexOf(backgroundImage) + 1]);\n return { backgroundImage: array[array.indexOf(backgroundImage) + 1] };\n }\n (window._localStorage || window.localStorage).setItem('files.backgroundImage', array[0]);\n return { backgroundImage: array[0] };\n });\n };\n\n getClassBackgroundImage = () => {\n // ['light', 'dark', 'colored', 'delete']\n switch (this.state.backgroundImage) {\n case 'light':\n return this.props.classes.backgroundImageLight;\n case 'dark':\n return this.props.classes.backgroundImageDark;\n case 'colored':\n return this.props.classes.backgroundImageColored;\n case 'delete':\n return null;\n default:\n return null;\n }\n };\n\n renderFile(item) {\n const padding = this.state.viewType === TABLE ? item.level * this.levelPadding : 0;\n const ext = Utils.getFileExtension(item.name);\n\n return <div\n key={item.id}\n id={item.id}\n onDoubleClick={e => {\n e.stopPropagation();\n if (!this.props.onSelect) {\n this.setState({ viewer: this.imagePrefix + item.id, formatEditFile: ext });\n } else if (\n (!this.props.filterFiles || this.props.filterFiles.includes(item.ext)) &&\n (!this.state.filterByType || EXTENSIONS[this.state.filterByType].includes(item.ext))\n ) {\n this.props.onSelect(item.id, true, !!this.state.folders[item.id]);\n }\n }}\n onClick={e => this.select(item.id, e)}\n style={this.state.viewType === TABLE ? { marginLeft: padding, width: `calc(100% - ${padding}px)` } : {}}\n className={Utils.clsx(\n 'browserItem',\n this.props.classes[`item${this.state.viewType}`],\n this.props.classes[`itemFile${this.state.viewType}`],\n this.state.selected === item.id && this.props.classes.itemSelected,\n )}\n >\n {EXTENSIONS.images.includes(ext) ?\n this.state.fileErrors.includes(item.id) ?\n <IconNoIcon className={Utils.clsx(this.props.classes[`itemImage${this.state.viewType}`], this.getClassBackgroundImage())} /> :\n <img\n onError={e => {\n e.target.onerror = null;\n const fileErrors = [...this.state.fileErrors];\n if (!fileErrors.includes(item.id)) {\n fileErrors.push(item.id);\n this.setState({ fileErrors });\n }\n }}\n className={Utils.clsx(this.props.classes[`itemImage${this.state.viewType}`], this.getClassBackgroundImage())}\n src={this.imagePrefix + item.id}\n alt={item.name}\n />\n :\n this.getFileIcon(ext)}\n <div className={this.props.classes[`itemName${this.state.viewType}`]}>{item.name}</div>\n <Hidden smDown>{this.formatSize(item.size)}</Hidden>\n <Hidden smDown>{this.state.viewType === TABLE ? this.formatAcl(item.acl) : null}</Hidden>\n <Hidden smDown>\n {this.state.viewType === TABLE && this.props.expertMode && FileBrowser.getEditFile(ext) ?\n <IconButton\n aria-label=\"edit\"\n onClick={e => {\n e.stopPropagation();\n if (!this.props.onSelect) {\n this.setState({ viewer: this.imagePrefix + item.id, formatEditFile: ext });\n } else if (\n (!this.props.filterFiles || this.props.filterFiles.includes(item.ext)) &&\n (!this.state.filterByType || EXTENSIONS[this.state.filterByType].includes(item.ext))\n ) {\n this.props.onSelect(item.id, true, !!this.state.folders[item.id]);\n }\n }}\n className={this.props.classes[`itemDeleteButton${this.state.viewType}`]}\n size=\"large\"\n >\n <EditIcon fontSize=\"small\" />\n </IconButton>\n :\n <div className={this.props.classes[`itemDeleteButton${this.state.viewType}`]} />}\n </Hidden>\n {this.state.viewType === TABLE && this.props.allowDownload ? <a\n className={Utils.clsx('MuiButtonBase-root', 'MuiIconButton-root', 'MuiIconButton-sizeLarge', this.props.classes.itemDownloadButtonTable)}\n tabIndex=\"0\"\n download={item.id}\n href={this.imagePrefix + item.id}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <DownloadIcon />\n </a> : null}\n\n {this.state.viewType === TABLE &&\n this.props.allowDelete &&\n item.id !== 'vis.0/' &&\n item.id !== 'vis-2-beta.0/' &&\n item.id !== USER_DATA\n ?\n <IconButton\n aria-label=\"delete\"\n onClick={e => {\n e.stopPropagation();\n if (this.suppressDeleteConfirm > Date.now()) {\n this.deleteItem(item.id);\n } else {\n this.setState({ deleteItem: item.id });\n }\n }}\n className={this.props.classes[`itemDeleteButton${this.state.viewType}`]}\n size=\"large\"\n >\n <DeleteIcon fontSize=\"small\" />\n </IconButton>\n :\n (this.state.viewType === TABLE && this.props.allowDelete ?\n <div className={this.props.classes[`itemDeleteButton${this.state.viewType}`]} />\n :\n null\n )}\n </div>;\n }\n\n renderItems(folderId) {\n if (this.state.folders && this.state.folders[folderId]) {\n // tile\n if (this.state.viewType === TILE) {\n const res = [];\n if (folderId && folderId !== '/') {\n res.push(this.renderBackFolder());\n }\n this.state.folders[folderId].forEach(item => {\n if (item.folder) {\n res.push(this.renderFolder(item));\n } else if (\n (!this.props.filterFiles || this.props.filterFiles.includes(item.ext)) &&\n (!this.state.filterByType || EXTENSIONS[this.state.filterByType].includes(item.ext))\n ) {\n res.push(this.renderFile(item));\n }\n });\n return res;\n }\n return this.state.folders[folderId].map(item => {\n const res = [];\n if (item.folder) {\n const expanded = this.state.expanded.includes(item.id);\n\n res.push(this.renderFolder(item, expanded));\n if (this.state.folders[item.id] && expanded) {\n res.push(this.renderItems(item.id));\n }\n } else if (\n (!this.props.filterFiles || this.props.filterFiles.includes(item.ext)) &&\n (!this.state.filterByType || EXTENSIONS[this.state.filterByType].includes(item.ext))\n ) {\n res.push(this.renderFile(item));\n } else {\n return null;\n }\n\n return res;\n });\n }\n\n return <div style={{ position: 'relative' }}>\n <CircularProgress key={folderId} color=\"secondary\" size={24} />\n <div style={{\n position: 'absolute', zIndex: 2, top: 4, width: 24, textAlign: 'center',\n }}\n >\n {this.state.queueLength}\n </div>\n </div>;\n }\n\n renderToolbar() {\n const IconType = this.props.showTypeSelector ? (FILE_TYPE_ICONS[this.state.filterByType || 'all'] || FILE_TYPE_ICONS.all) : null;\n\n const isInFolder = this.findFirstFolder(this.state.selected);\n\n return <Toolbar key=\"toolbar\" variant=\"dense\">\n {this.props.allowNonRestricted && this.props.restrictToFolder ? <IconButton\n edge=\"start\"\n title={this.state.restrictToFolder ? this.props.t('ra_Show all folders') : this.props.t('ra_Restrict to folder')}\n className={Utils.clsx(this.props.classes.menuButton, this.state.restrictToFolder && this.props.classes.menuButtonRestrictActive)}\n aria-label=\"restricted to folder\"\n onClick={() => this.setState({\n restrictToFolder: this.state.restrictToFolder ? '' : this.props.restrictToFolder,\n loadAllFolders: true,\n })}\n size=\"small\"\n >\n <RestrictedIcon fontSize=\"small\" />\n </IconButton> : null}\n {this.props.showExpertButton ? <IconButton\n edge=\"start\"\n title={this.props.t('ra_Toggle expert mode')}\n className={Utils.clsx(this.props.classes.menuButton, this.state.expertMode && this.props.classes.menuButtonExpertActive)}\n aria-label=\"expert mode\"\n onClick={() => this.setState({ expertMode: !this.state.expertMode })}\n size=\"small\"\n >\n <ExpertIcon fontSize=\"small\" />\n </IconButton> : null}\n {this.props.showViewTypeButton ? <IconButton\n edge=\"start\"\n title={this.props.t('ra_Toggle view mode')}\n className={this.props.classes.menuButton}\n aria-label=\"view mode\"\n onClick={() => {\n const viewType = this.state.viewType === TABLE ? TILE : TABLE;\n (window._localStorage || window.localStorage).setItem('files.viewType', viewType);\n let currentDir = this.state.selected;\n if (isFile(currentDir)) {\n currentDir = getParentDir(currentDir);\n }\n this.setState({ viewType, currentDir }, () => {\n if (this.state.viewType === TABLE) {\n this.scrollToSelected();\n }\n });\n }}\n size=\"small\"\n >\n {this.state.viewType !== TABLE ? <IconList fontSize=\"small\" /> : <IconTile fontSize=\"small\" />}\n </IconButton> : null}\n <IconButton\n edge=\"start\"\n title={this.props.t('ra_Hide empty folders')}\n className={this.props.classes.menuButton}\n color={this.state.filterEmpty ? 'secondary' : 'inherit'}\n aria-label=\"filter empty\"\n onClick={() => {\n (window._localStorage || window.localStorage).setItem('file.empty', !this.state.filterEmpty);\n this.setState({ filterEmpty: !this.state.filterEmpty });\n }}\n size=\"small\"\n >\n <EmptyFilterIcon fontSize=\"small\" />\n </IconButton>\n <IconButton\n edge=\"start\"\n title={this.props.t('ra_Reload files')}\n className={this.props.classes.menuButton}\n color=\"inherit\"\n aria-label=\"reload files\"\n onClick={() => this.setState({ folders: {} }, () => this.loadFolders())}\n size=\"small\"\n >\n <RefreshIcon fontSize=\"small\" />\n </IconButton>\n {this.props.allowCreateFolder ? <IconButton\n edge=\"start\"\n disabled={\n !this.state.selected ||\n !isInFolder ||\n (\n this.limitToPath &&\n !this.state.selected.startsWith(`${this.limitToPath}/`) &&\n this.limitToPath !== this.state.selected\n )\n }\n title={this.props.t('ra_Create folder')}\n className={this.props.classes.menuButton}\n color=\"inherit\"\n aria-label=\"add folder\"\n onClick={() => this.setState({ addFolder: true })}\n size=\"small\"\n >\n <AddFolderIcon fontSize=\"small\" />\n </IconButton> : null}\n {this.props.allowUpload ? <IconButton\n edge=\"start\"\n disabled={\n !this.state.selected ||\n !isInFolder ||\n (\n this.limitToPath &&\n !this.state.selected.startsWith(`${this.limitToPath}/`) &&\n this.limitToPath !== this.state.selected\n )\n }\n title={this.props.t('ra_Upload file')}\n className={this.props.classes.menuButton}\n color=\"inherit\"\n aria-label=\"upload file\"\n onClick={() => this.setState({ uploadFile: true })}\n size=\"small\"\n >\n <UploadIcon fontSize=\"small\" />\n </IconButton> : null}\n {this.props.showTypeSelector ? <Tooltip title={this.props.t('ra_Filter files')}>\n <IconButton size=\"small\" onClick={e => this.setState({ showTypesMenu: e.target })}>\n <IconType fontSize=\"small\" />\n </IconButton>\n </Tooltip> : null}\n {this.state.showTypesMenu ? <Menu\n open={!0}\n anchorEl={this.state.showTypesMenu}\n onClose={() => this.setState({ showTypesMenu: null })}\n >\n {Object.keys(FILE_TYPE_ICONS).map(type => {\n const MyIcon = FILE_TYPE_ICONS[type];\n return <MenuItem\n key={type}\n selected={this.state.filterByType === type}\n onClick={() => {\n if (type === 'all') {\n (window._localStorage || window.localStorage).removeItem('files.filterByType');\n this.setState({ filterByType: '', showTypesMenu: null });\n } else {\n (window._localStorage || window.localStorage).setItem('files.filterByType', type);\n this.setState({ filterByType: type, showTypesMenu: null });\n }\n }}\n >\n <ListItemIcon><MyIcon fontSize=\"small\" /></ListItemIcon>\n <ListItemText>{this.props.t(`ra_fileType_${type}`)}</ListItemText>\n </MenuItem>;\n })}\n </Menu> : null}\n <Tooltip title={this.props.t('ra_Background image')}>\n <IconButton\n color=\"inherit\"\n edge=\"start\"\n className={this.props.classes.menuButton}\n onClick={this.setStateBackgroundImage}\n size=\"small\"\n >\n <Brightness5Icon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n {this.state.viewType !== TABLE && this.props.allowDelete ? <Tooltip title={this.props.t('ra_Delete')}>\n <span>\n <IconButton\n aria-label=\"delete\"\n disabled={\n !this.state.selected ||\n this.state.selected === 'vis.0/' ||\n this.state.selected === 'vis-2-beta.0/' ||\n this.state.selected === USER_DATA\n }\n color=\"inherit\"\n edge=\"start\"\n className={this.props.classes.menuButton}\n onClick={e => {\n e.stopPropagation();\n if (this.suppressDeleteConfirm > Date.now()) {\n this.deleteItem(this.state.selected);\n } else {\n this.setState({ deleteItem: this.state.selected });\n }\n }}\n size=\"small\"\n >\n <DeleteIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip> : null}\n </Toolbar>;\n }\n\n findItem(id, folders) {\n folders = folders || this.state.folders;\n if (!folders) {\n return null;\n }\n const parts = id.split('/');\n parts.pop();\n const parentFolder = parts.join('/') || '/';\n if (!folders[parentFolder]) {\n return null;\n }\n return folders[parentFolder].find(item => item.id === id);\n }\n\n renderInputDialog() {\n if (this.state.addFolder) {\n const parentFolder = this.findFirstFolder(this.state.selected);\n\n if (!parentFolder) {\n return window.alert(this.props.t('ra_Invalid parent folder!'));\n }\n\n return <TextInputDialog\n key=\"inputDialog\"\n applyText={this.props.t('ra_Create')}\n cancelText={this.props.t('ra_Cancel')}\n titleText={this.props.t('ra_Create new folder in %s', this.state.selected)}\n promptText={this.props.t('ra_If no file will be created in the folder, it will disappear after the browser closed')}\n labelText={this.props.t('ra_Folder name')}\n verify={text => (this.state.folders[parentFolder].find(item => item.name === text) ? '' : this.props.t('ra_Duplicate name'))}\n onClose={name => {\n if (name) {\n const folders = {};\n Object.keys(this.state.folders).forEach(folder => folders[folder] = this.state.folders[folder]);\n const parent = this.findItem(parentFolder);\n const id = `${parentFolder}/${name}`;\n folders[parentFolder].push({\n id,\n level: parent.level + 1,\n name,\n folder: true,\n temp: true,\n });\n\n folders[parentFolder].sort(sortFolders);\n\n folders[id] = [];\n const expanded = [...this.state.expanded];\n if (!expanded.includes(parentFolder)) {\n expanded.push(parentFolder);\n expanded.sort();\n }\n (window._localStorage || window.localStorage).setItem('files.expanded', JSON.stringify(expanded));\n this.setState({ addFolder: false, folders, expanded }, () =>\n this.select(id));\n } else {\n this.setState({ addFolder: false });\n }\n }}\n replace={text => text.replace(/[^-_\\w\\d]/, '_')}\n />;\n }\n return null;\n }\n\n componentDidUpdate(/* prevProps , prevState, snapshot */) {\n this.setOpacityTimer && clearTimeout(this.setOpacityTimer);\n this.setOpacityTimer = setTimeout(() => {\n this.setOpacityTimer = null;\n const items = window.document.getElementsByClassName('browserItem');\n for (let i = 0; i < items.length; i++) {\n items[i].style.opacity = 1;\n }\n }, 100);\n }\n\n uploadFile(fileName, data) {\n const parts = fileName.split('/');\n const adapter = parts.shift();\n return this.props.socket.writeFile64(adapter, parts.join('/'), data)\n .catch(e => window.alert(`Cannot write file: ${e}`));\n }\n\n findFirstFolder(id) {\n let parentFolder = id;\n const item = this.findItem(parentFolder);\n // find folder\n if (item && !item.folder) {\n const parts = parentFolder.split('/');\n parts.pop();\n parentFolder = '';\n while (parts.length) {\n const _item = this.findItem(parts.join('/'));\n if (_item && _item.folder) {\n parentFolder = parts.join('/');\n break;\n }\n }\n }\n\n return parentFolder;\n }\n\n renderUpload() {\n if (this.state.uploadFile) {\n return [\n <Fab\n key=\"close\"\n color=\"primary\"\n aria-label=\"close\"\n className={this.props.classes.uploadCloseButton}\n onClick={() => this.setState({ uploadFile: false })}\n >\n <CloseIcon />\n </Fab>,\n <Dropzone\n key=\"dropzone\"\n onDragEnter={() => this.setState({ uploadFile: 'dragging' })}\n onDragLeave={() => this.setState({ uploadFile: true })}\n onDrop={acceptedFiles => {\n let count = acceptedFiles.length;\n\n acceptedFiles.forEach(file => {\n const reader = new FileReader();\n\n reader.onabort = () => console.log('file reading was aborted');\n reader.onerror = () => console.log('file reading has failed');\n reader.onload = () => {\n const parentFolder = this.findFirstFolder(this.state.selected);\n\n if (!parentFolder) {\n window.alert(this.props.t('ra_Invalid parent folder!'));\n } else {\n const id = `${parentFolder}/${file.name}`;\n\n this.uploadFile(id, reader.result)\n .then(() => {\n if (!--count) {\n this.setState({ uploadFile: false }, () => {\n if (this.supportSubscribes) {\n // open current folder\n const expanded = [...this.state.expanded];\n if (!expanded.includes(parentFolder)) {\n expanded.push(parentFolder);\n expanded.sort();\n (window._localStorage || window.localStorage).setItem('files.expanded', JSON.stringify(expanded));\n }\n this.setState({ expanded }, () =>\n this.select(id));\n } else {\n setTimeout(\n () =>\n this.browseFolder(parentFolder, true)\n .then(folders => {\n // open current folder\n const expanded = [...this.state.expanded];\n if (!expanded.includes(parentFolder)) {\n expanded.push(parentFolder);\n expanded.sort();\n (window._localStorage || window.localStorage).setItem('files.expanded', JSON.stringify(expanded));\n }\n this.setState({ folders, expanded }, () =>\n this.select(id));\n }),\n 500,\n );\n }\n });\n }\n });\n }\n };\n\n reader.readAsArrayBuffer(file);\n });\n }}\n >\n {({ getRootProps, getInputProps }) => (\n <div\n className={Utils.clsx(this.props.classes.uploadDiv, this.state.uploadFile === 'dragging' && this.props.classes.uploadDivDragging)}\n {...getRootProps()}\n >\n <input {...getInputProps()} />\n <div className={this.props.classes.uploadCenterDiv}>\n <div className={this.props.classes.uploadCenterTextAndIcon}>\n <UploadIcon className={this.props.classes.uploadCenterIcon} />\n <div className={this.props.classes.uploadCenterText}>\n {\n this.state.uploadFile === 'dragging' ? this.props.t('ra_Drop file here') :\n this.props.t('ra_Place your files here or click here to open the browse dialog')\n }\n </div>\n </div>\n </div>\n </div>)}\n </Dropzone>,\n ];\n }\n return null;\n }\n\n deleteRecursive(id) {\n const item = this.findItem(id);\n if (item.folder) {\n return (this.state.folders[id] ? Promise.all(this.state.folders[id].map(_item =>\n this.deleteRecursive(_item.id))) : Promise.resolve())\n .then(() => {\n // If it is folder of second level\n if (item.level >= 1) {\n const parts = id.split('/');\n const adapter = parts.shift();\n this.props.socket.deleteFolder(adapter, parts.join('/'))\n .then(() => {\n // remove this folder\n const folders = JSON.parse(JSON.stringify(this.state.folders));\n delete folders[item.id];\n // delete folder from parent item\n const parentId = getParentDir(item.id);\n const parentFolder = folders[parentId];\n if (parentFolder) {\n const pos = parentFolder.indexOf(parentFolder.find(f => f.id === item.id));\n if (pos !== -1) {\n parentFolder.splice(pos, 1);\n }\n\n this.select(parentId, () => this.setState({ folders }));\n }\n });\n }\n });\n }\n\n const parts = id.split('/');\n const adapter = parts.shift();\n if (parts.length) {\n return this.props.socket.deleteFile(adapter, parts.join('/'))\n .catch(e => window.alert(`Cannot delete file: ${e}`));\n }\n return Promise.resolve();\n }\n\n deleteItem(deleteItem) {\n deleteItem = deleteItem || this.state.deleteItem;\n\n this.setState({ deleteItem: '' }, () =>\n this.deleteRecursive(deleteItem)\n .then(() => {\n const newState = {};\n const pos = this.state.expanded.indexOf(deleteItem);\n if (pos !== -1) {\n const expanded = [...this.state.expanded];\n expanded.splice(pos, 1);\n (window._localStorage || window.localStorage).setItem('files.expanded', JSON.stringify(expanded));\n newState.expanded = expanded;\n }\n\n if (this.state.selected === deleteItem) {\n const parts = this.state.selected.split('/');\n parts.pop();\n newState.selected = parts.join('/');\n }\n\n if (!this.supportSubscribes) {\n const parentFolder = this.findFirstFolder(deleteItem);\n const folders = {};\n\n Object.keys(this.state.folders).forEach(name => {\n if (name !== parentFolder && !name.startsWith(`${parentFolder}/`)) {\n folders[name] = this.state.folders[name];\n }\n });\n\n newState.folders = folders;\n\n this.setState(newState, () =>\n setTimeout(() => this.browseFolders([...this.state.expanded], folders)\n .then(_folders => this.setState({ folders: _folders })), 200));\n } else {\n this.setState(newState);\n }\n }));\n }\n\n renderDeleteDialog() {\n if (this.state.deleteItem) {\n return <Dialog\n key=\"deleteDialog\"\n open={!0}\n onClose={() => this.setState({ deleteItem: '' })}\n aria-labelledby=\"ar_dialog_file_delete_title\"\n >\n <DialogTitle id=\"ar_dialog_file_delete_title\">{this.props.t('ra_Confirm deletion of %s', this.state.deleteItem.split('/').pop())}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {this.props.t('ra_Are you sure?')}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button\n color=\"grey\"\n variant=\"contained\"\n onClick={() => {\n this.suppressDeleteConfirm = Date.now() + 60000 * 5;\n this.deleteItem();\n }}\n >\n {this.props.t('ra_Delete (no confirm for 5 mins)')}\n </Button>\n <Button variant=\"contained\" onClick={() => this.deleteItem()} color=\"primary\" autoFocus>{this.props.t('ra_Delete')}</Button>\n <Button variant=\"contained\" onClick={() => this.setState({ deleteItem: '' })} color=\"grey\">{this.props.t('ra_Cancel')}</Button>\n </DialogActions>\n </Dialog>;\n }\n return false;\n }\n\n renderViewDialog() {\n return this.state.viewer ? <FileViewer\n supportSubscribes={this.supportSubscribes}\n key={this.state.viewer}\n href={this.state.viewer}\n formatEditFile={this.state.formatEditFile}\n themeName={this.props.themeName}\n setStateBackgroundImage={this.setStateBackgroundImage}\n getClassBackgroundImage={this.getClassBackgroundImage}\n t={this.props.t}\n socket={this.props.socket}\n lang={this.props.lang}\n expertMode={this.state.expertMode}\n onClose={() => this.setState({ viewer: '', formatEditFile: '' })}\n /> : null;\n }\n\n renderError() {\n if (this.state.errorText) {\n return <ErrorDialog\n classes={{ }}\n key=\"errorDialog\"\n text={this.state.errorText}\n onClose={() => this.setState({ errorText: '' })}\n />;\n }\n return null;\n }\n\n changeToPath() {\n setTimeout(() => {\n if (this.state.path !== this.state.selected && (!this.lastSelect || Date.now() - this.lastSelect > 100)) {\n let folder = this.state.path;\n if (isFile(this.state.path)) {\n folder = getParentDir(this.state.path);\n }\n new Promise(resolve => {\n if (!this.state.folders[folder]) {\n this.browseFolder(folder)\n .then(folders => this.setState({ folders }, () => resolve(true)))\n .catch(err => this.setState({ errorText: err === NOT_FOUND ? this.props.t('ra_Cannot find \"%s\"', folder) : this.props.t('ra_Cannot read \"%s\"', folder) }));\n } else {\n resolve(true);\n }\n })\n .then(result =>\n result && this.setState({ selected: this.state.path, currentDir: folder, pathFocus: false }));\n } else if (!this.lastSelect || Date.now() - this.lastSelect > 100) {\n this.setState({ pathFocus: false });\n }\n }, 100);\n }\n\n renderBreadcrumb() {\n const parts = this.state.currentDir.startsWith('/') ? this.state.currentDir.split('/') : (`/${this.state.currentDir}`).split('/');\n const p = [];\n return <Breadcrumbs>\n {parts.map((part, i) => {\n part && p.push(part);\n const path = p.join('/');\n if (i < parts.length - 1) {\n return <div\n key={`${this.state.selected}_${i}`}\n className={this.props.classes.pathDivBreadcrumbDir}\n onClick={e => this.changeFolder(e, path || '/')}\n >\n {part || this.props.t('ra_Root')}\n </div>;\n }\n\n return <div\n key={`${this.state.selected}_${i}`}\n onClick={() => this.setState({ pathFocus: true })}\n >\n {part}\n </div>;\n })}\n </Breadcrumbs>;\n }\n\n renderPath() {\n return <div key=\"path\" className={this.props.classes.pathDiv}>\n {this.state.pathFocus ?\n <Input\n value={this.state.path}\n onKeyDown={e => {\n if (e.keyCode === 13) {\n this.changeToPath();\n } else if (e.keyCode === 27) {\n this.setState({ pathFocus: false });\n }\n }}\n endAdornment={<IconButton size=\"small\" onClick={() => this.changeToPath()}><EnterIcon /></IconButton>}\n onBlur={() => this.changeToPath()}\n onChange={e => this.setState({ path: e.target.value })}\n className={this.props.classes.pathDivInput}\n />\n :\n this.renderBreadcrumb()}\n </div>;\n }\n\n render() {\n if (!this.props.ready) {\n return <LinearProgress />;\n }\n\n if (this.state.loadAllFolders && !this.foldersLoading) {\n this.foldersLoading = true;\n setTimeout(() => {\n this.setState({ loadAllFolders: false, folders: {} }, () => {\n this.foldersLoading = false;\n this.loadFolders();\n });\n }, 300);\n }\n\n return <div style={this.props.style} className={Utils.clsx(this.props.classes.root, this.props.className)}>\n {this.props.showToolbar ? this.renderToolbar() : null}\n {this.state.viewType === TILE ? this.renderPath() : null}\n <div\n className={Utils.clsx(this.props.classes.filesDiv, this.props.classes[`filesDiv${this.state.viewType}`])}\n onClick={e => {\n if (this.state.viewType !== TABLE) {\n if (this.state.selected !== (this.state.currentDir || '/')) {\n this.changeFolder(e, this.state.currentDir || '/');\n } else {\n e.stopPropagation();\n }\n }\n }}\n >\n {this.state.viewType === TABLE ? this.renderItems('/') : this.renderItems(this.state.currentDir || '/')}\n {this.state.viewType !== TABLE ? <div className={this.props.classes.filesDivHint}>{this.props.t('ra_select_folder_hint')}</div> : null}\n </div>\n {this.props.allowUpload ? this.renderInputDialog() : null}\n {this.props.allowUpload ? this.renderUpload() : null}\n {this.props.allowDelete ? this.renderDeleteDialog() : null}\n {this.props.allowView ? this.renderViewDialog() : null}\n {this.state.modalEditOfAccess && this.props.modalEditOfAccessControl && this.props.modalEditOfAccessControl(this, this.state.modalEditOfAccessObjData)}\n {this.renderError()}\n </div>;\n }\n}\n\nFileBrowser.defaultProps = {\n modalEditOfAccessControl: () => { },\n};\n\nFileBrowser.propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n t: PropTypes.func.isRequired,\n lang: PropTypes.string.isRequired,\n socket: PropTypes.object.isRequired,\n ready: PropTypes.bool,\n expertMode: PropTypes.bool,\n showTypeSelector: PropTypes.bool,\n showToolbar: PropTypes.bool,\n allowUpload: PropTypes.bool,\n allowDownload: PropTypes.bool,\n allowCreateFolder: PropTypes.bool,\n allowDelete: PropTypes.bool,\n allowView: PropTypes.bool,\n imagePrefix: PropTypes.string,\n showExpertButton: PropTypes.bool,\n viewType: PropTypes.string,\n showViewTypeButton: PropTypes.bool,\n restrictToFolder: PropTypes.string, // If defined, allow selecting only files from this folder\n allowNonRestricted: PropTypes.bool, // If restrictToFolder defined, allow selecting files outside of this folder\n\n selected: PropTypes.string,\n tileView: PropTypes.bool,\n filterFiles: PropTypes.array, // like ['png', 'svg', 'bmp', 'jpg', 'jpeg', 'gif']\n filterByType: PropTypes.string, // images, code or txt from EXTENSIONS\n onSelect: PropTypes.func, // function (id, isDoubleClick)\n\n modalEditOfAccessControl: PropTypes.func,\n};\n\n/** @type {typeof FileBrowser} */\nconst _export = withWidth()(withStyles(styles)(FileBrowser));\nexport default _export;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAMA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,cAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,SAAA,GAAAL,OAAA;AAuBA,IAAAM,cAAA,GAAAN,OAAA;AA2BA,IAAAO,MAAA,GAAAJ,sBAAA,CAAAH,OAAA;AACA,IAAAQ,MAAA,GAAAL,sBAAA,CAAAH,OAAA;AACA,IAAAS,UAAA,GAAAN,sBAAA,CAAAH,OAAA;AAGA,IAAAU,WAAA,GAAAP,sBAAA,CAAAH,OAAA;AACA,IAAAW,WAAA,GAAAR,sBAAA,CAAAH,OAAA;AACA,IAAAY,SAAA,GAAAT,sBAAA,CAAAH,OAAA;AACA,IAAAa,WAAA,GAAAV,sBAAA,CAAAH,OAAA;AAEA,IAAAc,UAAA,GAAAX,sBAAA,CAAAH,OAAA;AAEA,IAAAe,WAAA,GAAAhB,uBAAA,CAAAC,OAAA;AAAsD,SAAAgB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAlB,wBAAAkB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,QAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAY,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAP,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAtB,SAAA,CAAAuB,OAAA,CAAArB,IAAA,CAAAa,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAArC,CAAA,sBAzEtD;AACA;AACA;AACA;AACA;AACA,+UALA,CAiCA;AAgCA;AAUA,IAAMuC,UAAU,GAAK,EAAE;AACvB,IAAMC,YAAY,GAAG,EAAE;AACvB,IAAMC,WAAW,GAAI,GAAG;AACxB,IAAMC,UAAU,GAAK,EAAE;AAEvB,IAAMC,SAAS,GAAG,WAAW;AAE7B,IAAMC,eAAe,GAAG;EACpBC,GAAG,EAAEC,8BAAQ;EACbC,MAAM,EAAEC,oBAAc;EACtBC,IAAI,EAAEC,mBAAM;EACZC,GAAG,EAAEC,2BAAW;EAChBC,KAAK,EAAEC,wBAAa;EACpBC,KAAK,EAAEC;AACX,CAAC;AAED,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAGC,KAAK;EAAA,OAAK;IACrBC,MAAM,EAAE;MACJC,MAAM,iBAAAC,MAAA,CAAiBH,KAAK,CAACI,MAAM,CAACC,OAAO,CAACC,SAAS;IACzD,CAAC;IACDC,IAAI,EAAE;MACFC,KAAK,EAAE,MAAM;MACbC,QAAQ,EAAE,QAAQ;MAClBP,MAAM,EAAE,MAAM;MACdQ,QAAQ,EAAE;IACd,CAAC;IACDC,QAAQ,EAAE;MACNH,KAAK,iBAAAL,MAAA,CAAiBH,KAAK,CAACY,OAAO,CAAC,CAAC,CAAC,MAAG;MACzCC,SAAS,EAAE,QAAQ;MACnBC,SAAS,EAAE,MAAM;MACjBC,OAAO,EAAEf,KAAK,CAACY,OAAO,CAAC,CAAC;IAC5B,CAAC;IACDI,YAAY,EAAE;MACVN,QAAQ,EAAE,UAAU;MACpBO,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,EAAE;MACRC,OAAO,EAAE,GAAG;MACZC,SAAS,EAAE,QAAQ;MACnBC,QAAQ,EAAE;IACd,CAAC;IACDC,aAAa,EAAE;MACXpB,MAAM,iBAAAC,MAAA,CAAiB,EAAE,GAAGoB,QAAQ,CAACvB,KAAK,CAACY,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9D,CAAC;IACDY,YAAY,EAAE;MACVtB,MAAM,iBAAAC,MAAA,CAAiB,EAAE,GAAG,CAAC,GAAGoB,QAAQ,CAACvB,KAAK,CAACY,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAK;MACnEa,OAAO,EAAE,MAAM;MACfC,YAAY,EAAE,YAAY;MAC1BC,UAAU,EAAE,SAAS;MACrBC,QAAQ,EAAE,MAAM;MAChBC,IAAI,SAAA1B,MAAA,CAASnB,UAAU;IAC3B,CAAC;IAED8C,QAAQ,EAAE;MACNpB,QAAQ,EAAE,UAAU;MACpBqB,UAAU,EAAE,MAAM;MAClBC,MAAM,EAAE,SAAS;MACjB9B,MAAM,EAAEnB,WAAW;MACnByB,KAAK,EAAExB,UAAU;MACjByC,OAAO,EAAE,cAAc;MACvBQ,SAAS,EAAE,QAAQ;MACnBd,OAAO,EAAE,GAAG;MACZe,UAAU,EAAE,YAAY;MACxBC,MAAM,EAAE,CAAC;MACT,SAAS,EAAE;QACPC,UAAU,EAAEpC,KAAK,CAACqC,OAAO,CAACC,SAAS,CAACC,KAAK;QACzCC,KAAK,EAAEC,iBAAK,CAACC,WAAW,CAAC1C,KAAK,CAACqC,OAAO,CAACC,SAAS,CAACK,IAAI,EAAE,IAAI;MAC/D;IACJ,CAAC;IACDC,kBAAkB,EAAE;MAChBC,UAAU,EAAE;IAChB,CAAC;IACDC,YAAY,EAAE;MACVtC,KAAK,EAAE,MAAM;MACbN,MAAM,EAAE,EAAE;MACVO,QAAQ,EAAE,QAAQ;MAClBsC,YAAY,EAAE,UAAU;MACxB1B,QAAQ,EAAE,EAAE;MACZY,SAAS,EAAE,QAAQ;MACnBe,SAAS,EAAE;IACf,CAAC;IACDC,kBAAkB,EAAE;MAChBzC,KAAK,EAAE,MAAM;MACbN,MAAM,EAAEnB,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;MAAE;MACnC0C,OAAO,EAAE,OAAO;MAChByB,WAAW,EAAE,CAAC;MACdV,KAAK,EAAExC,KAAK,CAACqC,OAAO,CAACC,SAAS,CAACK,IAAI,IAAI;IAC3C,CAAC;IACDQ,kBAAkB,EAAE;MAChBzC,QAAQ,EAAE,UAAU;MACpB0C,GAAG,EAAE,EAAE;MACPlC,IAAI,EAAE,EAAE;MACRmC,MAAM,EAAE,CAAC;MACTb,KAAK,EAAExC,KAAK,CAACqC,OAAO,CAACiB,IAAI,KAAK,MAAM,GAAG,MAAM,GAAG;IACpD,CAAC;IACDC,YAAY,EAAE;MACV/C,KAAK,EAAE,MAAM;MACbN,MAAM,EAAE,EAAE;MACV+B,SAAS,EAAE,QAAQ;MACnBZ,QAAQ,EAAE;IACd,CAAC;IACDmC,aAAa,EAAE;MACXhD,KAAK,EAAE,kBAAkB;MACzBN,MAAM,EAAEnB,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;MAAE;MACnCoD,MAAM,EAAE,CAAC;MACTV,OAAO,EAAE,OAAO;MAChBQ,SAAS,EAAE,QAAQ;MACnBwB,SAAS,EAAE;IACf,CAAC;IACDC,YAAY,EAAE;MACVlD,KAAK,EAAE,MAAM;MACbN,MAAM,EAAEnB,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;MAAE;MACnC0C,OAAO,EAAE,OAAO;MAChBgC,SAAS,EAAE;IACf,CAAC;IAEDE,YAAY,EAAE;MACVvB,UAAU,EAAEpC,KAAK,CAACqC,OAAO,CAACuB,OAAO,CAACjB,IAAI;MACtCH,KAAK,EAAEC,iBAAK,CAACC,WAAW,CAAC1C,KAAK,CAACqC,OAAO,CAACuB,OAAO,CAACjB,IAAI,EAAE,IAAI;IAC7D,CAAC;IAEDkB,SAAS,EAAE;MACP9B,UAAU,EAAE,MAAM;MAClBC,MAAM,EAAE,SAAS;MACjB9B,MAAM,EAAErB,UAAU;MAClB4C,OAAO,EAAE,aAAa;MACtBqC,UAAU,KAAA3D,MAAA,CAAKtB,UAAU,OAAI;MAC7B,SAAS,EAAE;QACPuD,UAAU,EAAEpC,KAAK,CAACqC,OAAO,CAACC,SAAS,CAACC,KAAK;QACzCC,KAAK,EAAEC,iBAAK,CAACC,WAAW,CAAC1C,KAAK,CAACqC,OAAO,CAACC,SAAS,CAACK,IAAI,EAAE,IAAI;MAC/D;IACJ,CAAC;IACDoB,aAAa,EAAE;MACXtC,OAAO,EAAE,cAAc;MACvByB,WAAW,EAAE,EAAE;MACf7B,QAAQ,EAAE,MAAM;MAChB2C,aAAa,EAAE,KAAK;MACpBC,QAAQ,EAAE;IACd,CAAC;IACDC,mBAAmB,EAAE;MACjBrB,UAAU,EAAE;IAChB,CAAC;IACDsB,aAAa,EAAE;MACX1C,OAAO,EAAE,cAAc;MACvBjB,KAAK,EAAE,EAAE;MACTwD,aAAa,EAAE,KAAK;MACpB/B,SAAS,EAAE;IACf,CAAC;IACDmC,eAAe,EAAE;MACb;MACAJ,aAAa,EAAE,KAAK;MACpBxD,KAAK,EAAE,EAAE;MACTyB,SAAS,EAAE,OAAO;MAClBoC,YAAY,EAAE,CAAC;MACf5C,OAAO,EAAE,MAAM;MACf6C,cAAc,EAAE;IACpB,CAAC;IACDC,cAAc,EAAE;MACZ9C,OAAO,EAAE,cAAc;MACvBjB,KAAK,EAAE,EAAE;MACTgE,SAAS,EAAE,CAAC;MACZf,SAAS,EAAE,SAAS;MACpBgB,SAAS,EAAE;IACf,CAAC;IACDC,aAAa,EAAE;MACXjD,OAAO,EAAE,cAAc;MACvB+C,SAAS,EAAE,CAAC;MACZhE,KAAK,EAAE,EAAE;MACTN,MAAM,EAAE;IACZ,CAAC;IACDyE,eAAe,EAAE,CAEjB,CAAC;IACDC,cAAc,EAAE;MACZzD,OAAO,EAAE;IACb,CAAC;IACD0D,mBAAmB,EAAE;MACjBL,SAAS,EAAE,CAAC;MACZM,UAAU,EAAE9E,KAAK,CAACY,OAAO,CAAC,CAAC,CAAC;MAC5Ba,OAAO,EAAE,cAAc;MACvBjB,KAAK,EAAE,EAAE;MACTN,MAAM,EAAE,EAAE;MACVsC,KAAK,EAAExC,KAAK,CAACqC,OAAO,CAACC,SAAS,CAACK,IAAI,IAAI;IAC3C,CAAC;IACDoC,uBAAuB,EAAE;MACrBtD,OAAO,EAAE,cAAc;MACvBjB,KAAK,EAAE1B,YAAY;MACnBoB,MAAM,EAAErB,UAAU;MAClBmG,QAAQ,EAAElG,YAAY;MACtBkF,aAAa,EAAE,QAAQ;MACvB/B,SAAS,EAAE,QAAQ;MACnBlB,OAAO,EAAE,CAAC;MACVkE,YAAY,EAAEnG,YAAY,GAAG,CAAC;MAC9B,SAAS,EAAE;QACPoG,eAAe,EAAElF,KAAK,CAACqC,OAAO,CAACiB,IAAI,KAAK,MAAM,GAAG,2BAA2B,GAAG;MACnF,CAAC;MACD,QAAQ,EAAE;QACN6B,UAAU,EAAE;MAChB,CAAC;MACD,OAAO,EAAE;QACL3E,KAAK,EAAE,EAAE;QACTN,MAAM,EAAE,EAAE;QACVmB,QAAQ,EAAE,MAAM;QAChBmD,SAAS,EAAE,CAAC,CAAC;QACbR,aAAa,EAAE,QAAQ;QACvBxB,KAAK,EAAExC,KAAK,CAACqC,OAAO,CAACiB,IAAI,KAAK,MAAM,GAAG,MAAM,GAAG;MACpD;IACJ,CAAC;IACD8B,sBAAsB,EAAE;MACpB3D,OAAO,EAAE,cAAc;MACvBjB,KAAK,EAAE1B,YAAY;MACnBoB,MAAM,EAAErB,UAAU;MAClBmG,QAAQ,EAAElG,YAAY;MACtBiC,OAAO,EAAE;IACb,CAAC;IACDsE,kBAAkB,EAAE;MAChB7E,KAAK,EAAE1B,YAAY;MACnBoB,MAAM,EAAErB,UAAU;MAClBmG,QAAQ,EAAElG,YAAY;MACtBkF,aAAa,EAAE,KAAK;MACpBjD,OAAO,EAAE,CAAC;MACVM,QAAQ,EAAE,EAAE;MACZI,OAAO,EAAE;IACb,CAAC;IACD6D,qBAAqB,EAAE;MACnB7D,OAAO,EAAE,cAAc;MACvBjB,KAAK,EAAE1B,YAAY;MACnBoB,MAAM,EAAErB,UAAU;MAClBmG,QAAQ,EAAElG,YAAY;MACtBkF,aAAa,EAAE,KAAK;MACpBjD,OAAO,EAAE,CAAC;MACV,OAAO,EAAE;QACLP,KAAK,EAAE,EAAE;QACTN,MAAM,EAAE,EAAE;QACVmB,QAAQ,EAAE;MACd;IACJ,CAAC;IAEDkE,SAAS,EAAE;MACPnC,GAAG,EAAE,CAAC;MACNC,MAAM,EAAE,CAAC;MACTpC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,CAAC;MACPsE,KAAK,EAAE,CAAC;MACR9E,QAAQ,EAAE,UAAU;MACpBS,OAAO,EAAE,GAAG;MACZc,SAAS,EAAE,QAAQ;MACnBG,UAAU,EAAE;IAChB,CAAC;IACDqD,iBAAiB,EAAE;MACftE,OAAO,EAAE;IACb,CAAC;IAEDuE,eAAe,EAAE;MACbvD,MAAM,EAAE,EAAE;MACVwD,MAAM,EAAE,iBAAiB;MACzBV,YAAY,EAAE,EAAE;MAChBzE,KAAK,EAAE,mBAAmB;MAC1BN,MAAM,EAAE,mBAAmB;MAC3BQ,QAAQ,EAAE,UAAU;MACpB8B,KAAK,EAAExC,KAAK,CAACqC,OAAO,CAACiB,IAAI,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM;MACtD7B,OAAO,EAAE,MAAM;MACfE,UAAU,EAAE,QAAQ;MACpB2C,cAAc,EAAE;IACpB,CAAC;IACDsB,gBAAgB,EAAE;MACdpF,KAAK,EAAE,KAAK;MACZN,MAAM,EAAE;IACZ,CAAC;IACD2F,gBAAgB,EAAE;MACdxE,QAAQ,EAAE,EAAE;MACZwB,UAAU,EAAE;IAChB,CAAC;IACDiD,iBAAiB,EAAE;MACfzC,MAAM,EAAE,CAAC;MACT3C,QAAQ,EAAE,UAAU;MACpB0C,GAAG,EAAE,EAAE;MACPoC,KAAK,EAAE;IACX,CAAC;IACDO,uBAAuB,EAAE;MACrBrF,QAAQ,EAAE,UAAU;MACpBR,MAAM,EAAE,KAAK;MACbM,KAAK,EAAE,MAAM;MACb2B,MAAM,EAAE,MAAM;MACdhB,OAAO,EAAE;IACb,CAAC;IACD6E,sBAAsB,EAAE;MACpBxD,KAAK,EAAE;IACX,CAAC;IACDyD,wBAAwB,EAAE;MACtBzD,KAAK,EAAE;IACX,CAAC;IACD0D,OAAO,EAAE;MACLzE,OAAO,EAAE,MAAM;MACfjB,KAAK,iBAAAL,MAAA,CAAiBH,KAAK,CAACY,OAAO,CAAC,CAAC,CAAC,MAAG;MACzCkE,UAAU,EAAE9E,KAAK,CAACY,OAAO,CAAC,CAAC,CAAC;MAC5BuF,WAAW,EAAEnG,KAAK,CAACY,OAAO,CAAC,CAAC,CAAC;MAC7BmC,YAAY,EAAE,MAAM;MACpBtC,QAAQ,EAAE,QAAQ;MAClB2F,UAAU,EAAE,QAAQ;MACpBlB,eAAe,EAAElF,KAAK,CAACqC,OAAO,CAACC,SAAS,CAACK;IAC7C,CAAC;IACD0D,YAAY,EAAE;MACV7F,KAAK,EAAE;IACX,CAAC;IACD8F,oBAAoB,EAAE;MAClBpD,WAAW,EAAE,CAAC;MACdmB,YAAY,EAAE,CAAC;MACfrC,MAAM,EAAE,SAAS;MACjBQ,KAAK,EAAE,MAAM;MACb,SAAS,EAAE;QACPJ,UAAU,EAAE;MAChB;IACJ,CAAC;IACDmE,oBAAoB,EAAE;MAClBnE,UAAU,EAAE;IAChB,CAAC;IACDoE,mBAAmB,EAAE;MACjBpE,UAAU,EAAE;IAChB,CAAC;IACDqE,sBAAsB,EAAE;MACpBrE,UAAU,EAAE;IAChB,CAAC;IACD,sCAAsC,EAAE;MACpC2B,aAAa,EAAE;QACXqC,UAAU,EAAE,QAAQ;QACpB3F,QAAQ,EAAE,QAAQ;QAClBsC,YAAY,EAAE,UAAU;QACxBd,SAAS,EAAE,KAAK;QAChByE,SAAS,EAAE;MACf;IACJ,CAAC;IACDC,aAAa,EAAE;MACXnE,KAAK,EAAExC,KAAK,CAACqC,OAAO,CAACiB,IAAI,KAAK,MAAM,GAAG,SAAS,GAAG;IACvD;EACJ,CAAC;AAAA,CAAC;AAEF,IAAMsD,SAAS,GAAG,cAAc;AAEhC,SAASC,WAAWA,CAAC7J,CAAC,EAAE8J,CAAC,EAAE;EACvB,IAAI9J,CAAC,CAAC+J,MAAM,IAAID,CAAC,CAACC,MAAM,EAAE;IACtB,OAAO/J,CAAC,CAACgK,IAAI,GAAGF,CAAC,CAACE,IAAI,GAAG,CAAC,GAAIhK,CAAC,CAACgK,IAAI,GAAGF,CAAC,CAACE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAE;EAC3D;EACA,IAAIhK,CAAC,CAAC+J,MAAM,EAAE;IACV,OAAO,CAAC,CAAC;EACb;EACA,IAAID,CAAC,CAACC,MAAM,EAAE;IACV,OAAO,CAAC;EACZ;EACA,OAAO/J,CAAC,CAACgK,IAAI,GAAGF,CAAC,CAACE,IAAI,GAAG,CAAC,GAAIhK,CAAC,CAACgK,IAAI,GAAGF,CAAC,CAACE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAE;AAC3D;AAEA,SAASC,YAAYA,CAACC,GAAG,EAAE;EACvB,IAAMC,KAAK,GAAG,CAACD,GAAG,IAAI,EAAE,EAAEE,KAAK,CAAC,GAAG,CAAC;EACpCD,KAAK,CAACE,MAAM,IAAIF,KAAK,CAACG,GAAG,CAAC,CAAC;EAC3B,OAAOH,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC;AAC1B;AAEA,SAASC,MAAMA,CAACC,IAAI,EAAE;EAClB,IAAMC,GAAG,GAAGjF,iBAAK,CAACkF,gBAAgB,CAACF,IAAI,CAAC;EACxC,OAAO,CAAC,EAAEC,GAAG,IAAIA,GAAG,CAACE,WAAW,CAAC,CAAC,CAACC,KAAK,CAAC,QAAQ,CAAC,IAAIH,GAAG,CAACL,MAAM,GAAG,CAAC,CAAC;AACzE;AAEA,IAAMS,KAAK,GAAG,OAAO;AACrB,IAAMC,IAAI,GAAG,MAAM;;AAEnB;AACA;AACA;AAFA,IAGMC,WAAW,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,WAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAzK,YAAA,CAAAsK,WAAA;EACb;AACJ;AACA;EACI,SAAAA,YAAYI,KAAK,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,WAAA;IACfK,KAAA,GAAAF,MAAA,CAAA5K,IAAA,OAAM6K,KAAK;IAAE,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAH,KAAA,mBAqbF,UAACI,EAAE,EAAEC,QAAQ,EAAEC,IAAI,EAAK;MACnC,IAAMC,GAAG,MAAAzI,MAAA,CAAMsI,EAAE,OAAAtI,MAAA,CAAIuI,QAAQ,CAAE;MAC/B,IAAMG,GAAG,GAAGD,GAAG,CAACE,WAAW,CAAC,GAAG,CAAC;MAChC,IAAM/B,MAAM,GAAG6B,GAAG,CAACG,SAAS,CAAC,CAAC,EAAEF,GAAG,CAAC;MACpCG,OAAO,CAACC,GAAG,iBAAA9I,MAAA,CAAiByI,GAAG,OAAAzI,MAAA,CAAIwI,IAAI,MAAG,CAAC;MAE3C,IAAIN,KAAA,CAAKa,KAAK,CAACC,OAAO,CAACpC,MAAM,CAAC,EAAE;QAC5BsB,KAAA,CAAKe,YAAY,CAACrC,MAAM,CAAC,IAAIsC,YAAY,CAAChB,KAAA,CAAKe,YAAY,CAACrC,MAAM,CAAC,CAAC;QAEpEsB,KAAA,CAAKe,YAAY,CAACrC,MAAM,CAAC,GAAGuC,UAAU,CAAC,YAAM;UACzC,OAAOjB,KAAA,CAAKe,YAAY,CAACrC,MAAM,CAAC;UAEhCsB,KAAA,CAAKkB,YAAY,CAACxC,MAAM,EAAE,IAAI,CAAC,CAC1ByC,IAAI,CAAC,UAAAL,OAAO;YAAA,OAAId,KAAA,CAAKoB,QAAQ,CAAC;cAAEN,OAAO,EAAPA;YAAQ,CAAC,CAAC;UAAA,EAAC;QACpD,CAAC,EAAE,GAAG,CAAC;MACX;IACJ,CAAC;IAAA,IAAAZ,gBAAA,iBAAAC,uBAAA,aAAAH,KAAA,8BA4NyB,YAAM;MAC5B,IAAMqB,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;MACpDrB,KAAA,CAAKoB,QAAQ,CAAC,UAAAE,IAAA,EAAyB;QAAA,IAAtBC,eAAe,GAAAD,IAAA,CAAfC,eAAe;QAC5B,IAAIF,KAAK,CAACG,OAAO,CAACD,eAAe,CAAC,KAAK,CAAC,CAAC,IAAIF,KAAK,CAACrC,MAAM,GAAG,CAAC,KAAKqC,KAAK,CAACG,OAAO,CAACD,eAAe,CAAC,EAAE;UAC9F,CAACE,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,uBAAuB,EAAEP,KAAK,CAACA,KAAK,CAACG,OAAO,CAACD,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;UACzH,OAAO;YAAEA,eAAe,EAAEF,KAAK,CAACA,KAAK,CAACG,OAAO,CAACD,eAAe,CAAC,GAAG,CAAC;UAAE,CAAC;QACzE;QACA,CAACE,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,uBAAuB,EAAEP,KAAK,CAAC,CAAC,CAAC,CAAC;QACxF,OAAO;UAAEE,eAAe,EAAEF,KAAK,CAAC,CAAC;QAAE,CAAC;MACxC,CAAC,CAAC;IACN,CAAC;IAAA,IAAAnB,gBAAA,iBAAAC,uBAAA,aAAAH,KAAA,8BAEyB,YAAM;MAC5B;MACA,QAAQA,KAAA,CAAKa,KAAK,CAACU,eAAe;QAC9B,KAAK,OAAO;UACR,OAAOvB,KAAA,CAAKD,KAAK,CAAC8B,OAAO,CAAC3D,oBAAoB;QAClD,KAAK,MAAM;UACP,OAAO8B,KAAA,CAAKD,KAAK,CAAC8B,OAAO,CAAC1D,mBAAmB;QACjD,KAAK,SAAS;UACV,OAAO6B,KAAA,CAAKD,KAAK,CAAC8B,OAAO,CAACzD,sBAAsB;QACpD,KAAK,QAAQ;UACT,OAAO,IAAI;QACf;UACI,OAAO,IAAI;MACnB;IACJ,CAAC;IA1rBG,IAAI0D,QAAQ,GAAG,CAACL,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEI,OAAO,CAAC,gBAAgB,CAAC,IAAI,IAAI;IAE9F,IAAI/B,KAAA,CAAKD,KAAK,CAACiC,SAAS,EAAE;MACtB,IAAMlD,KAAK,GAAGkB,KAAA,CAAKD,KAAK,CAACiC,SAAS,CAACjD,KAAK,CAAC,GAAG,CAAC;MAC7CiB,KAAA,CAAKiC,eAAe,GAAGnD,KAAK,CAAC,CAAC,CAAC;MAC/BkB,KAAA,CAAKkC,WAAW,GAAG,CAACpD,KAAK,CAACE,MAAM,GAAG,IAAI,GAAIF,KAAK,CAACE,MAAM,KAAK,CAAC,IAAIF,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,GAAGA,KAAK,CAACI,IAAI,CAAC,GAAG,CAAE;MAC1G,IAAIc,KAAA,CAAKkC,WAAW,IAAIlC,KAAA,CAAKkC,WAAW,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACpDnC,KAAA,CAAKkC,WAAW,CAACxB,SAAS,CAAC,CAAC,EAAEV,KAAA,CAAKkC,WAAW,CAAClD,MAAM,GAAG,CAAC,CAAC;MAC9D;IACJ;IAEA,IAAI;MACA8C,QAAQ,GAAGM,IAAI,CAACC,KAAK,CAACP,QAAQ,CAAC;MAC/B,IAAI9B,KAAA,CAAKkC,WAAW,EAAE;QAClBJ,QAAQ,GAAGA,QAAQ,CAACQ,MAAM,CAAC,UAAAlC,EAAE;UAAA,OAAIA,EAAE,CAACmC,UAAU,IAAAzK,MAAA,CAAIkI,KAAA,CAAKkC,WAAW,MAAG,CAAC,IAAI9B,EAAE,KAAKJ,KAAA,CAAKkC,WAAW,IAAIlC,KAAA,CAAKkC,WAAW,CAACK,UAAU,IAAAzK,MAAA,CAAIsI,EAAE,MAAG,CAAC;QAAA,EAAC;MAC/I;IACJ,CAAC,CAAC,OAAOnM,CAAC,EAAE;MACR6N,QAAQ,GAAG,EAAE;IACjB;IAEA,IAAIU,QAAQ;IACZ,IAAIxC,KAAA,CAAKD,KAAK,CAAC0C,kBAAkB,EAAE;MAC/BD,QAAQ,GAAG,CAACf,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEI,OAAO,CAAC,gBAAgB,CAAC,IAAItC,KAAK;IAC/F,CAAC,MAAM;MACH+C,QAAQ,GAAG/C,KAAK;IACpB;IAEA,IAAIiD,QAAQ,GAAG1C,KAAA,CAAKD,KAAK,CAAC2C,QAAQ,IAAI,CAACjB,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEI,OAAO,CAAC,gBAAgB,CAAC,IAAIxD,SAAS;IAE1H,IAAIoE,UAAU,GAAG,EAAE;IAEnB,IAAMpB,gBAAe,GAAG,CAACE,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEI,OAAO,CAAC,uBAAuB,CAAC,IAAI,IAAI;IAE9G,IAAIhC,KAAK,CAAC6C,gBAAgB,EAAE;MACxBF,QAAQ,GAAG3C,KAAK,CAAC6C,gBAAgB;MACjCD,UAAU,GAAG5C,KAAK,CAAC6C,gBAAgB;MACnC,IAAM9D,MAAK,GAAGiB,KAAK,CAAC6C,gBAAgB,CAAC7D,KAAK,CAAC,GAAG,CAAC;MAC/C+C,QAAQ,GAAG,EAAE;MACb,IAAI1C,IAAI,GAAG,EAAE;MACb,KAAK,IAAIjK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2J,MAAK,CAACE,MAAM,EAAE7J,CAAC,EAAE,EAAE;QACnCiK,IAAI,IAAI,CAACA,IAAI,GAAG,GAAG,GAAG,EAAE,IAAIN,MAAK,CAAC3J,CAAC,CAAC;QACpC2M,QAAQ,CAACe,IAAI,CAACzD,IAAI,CAAC;MACvB;IACJ,CAAC,MAAM;MACH;MACA,IAAI0D,KAAK,CAACC,OAAO,CAACL,QAAQ,CAAC,EAAE;QACzBA,QAAQ,GAAGA,QAAQ,CAAC,CAAC,CAAC;MAC1B;MAEA,IAAIvD,MAAM,CAACuD,QAAQ,CAAC,EAAE;QAClBC,UAAU,GAAG/D,YAAY,CAAC8D,QAAQ,CAAC;MACvC,CAAC,MAAM;QACHC,UAAU,GAAGD,QAAQ;MACzB;IACJ;IAEA1C,KAAA,CAAKa,KAAK,GAAG;MACT2B,QAAQ,EAARA,QAAQ;MACR1B,OAAO,EAAE,CAAC,CAAC;MACXkC,WAAW,EAAE,CAACvB,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEI,OAAO,CAAC,aAAa,CAAC,KAAK,OAAO;MAC7FD,QAAQ,EAARA,QAAQ;MACRa,UAAU,EAAVA,UAAU;MACVM,UAAU,EAAEjD,KAAA,CAAKD,KAAK,CAACkD,UAAU;MACjCC,SAAS,EAAE,KAAK;MAChBC,UAAU,EAAE,KAAK;MACjBC,UAAU,EAAE,EAAE;MACd;MACAC,MAAM,EAAE,EAAE;MACVC,cAAc,EAAE,EAAE;MAClBlE,IAAI,EAAEsD,QAAQ;MACdA,QAAQ,EAARA,QAAQ;MACRa,SAAS,EAAE,EAAE;MACbC,iBAAiB,EAAE,KAAK;MACxBjC,eAAe,EAAfA,gBAAe;MACfkC,WAAW,EAAE,CAAC;MACdC,cAAc,EAAE,KAAK;MACrB;MACAC,UAAU,EAAE,EAAE;MACdC,YAAY,EAAE7D,KAAK,CAAC6D,YAAY,IAAInC,MAAM,CAACE,YAAY,CAACI,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE;MAC3F8B,aAAa,EAAE,IAAI;MACnBjB,gBAAgB,EAAE7C,KAAK,CAAC6C,gBAAgB,IAAI;IAChD,CAAC;IAED5C,KAAA,CAAK8D,WAAW,GAAG9D,KAAA,CAAKD,KAAK,CAAC+D,WAAW,IAAI,UAAU;IAEvD9D,KAAA,CAAK+D,YAAY,GAAG/D,KAAA,CAAKD,KAAK,CAACgE,YAAY,IAAI,EAAE;IACjD/D,KAAA,CAAKgE,OAAO,GAAG,IAAI;IACnBhE,KAAA,CAAKiE,qBAAqB,GAAG,CAAC;IAE9BjE,KAAA,CAAKkE,UAAU,GAAG,EAAE;IACpBlE,KAAA,CAAKmE,iBAAiB,GAAG,KAAK;IAC9BnE,KAAA,CAAKoE,mBAAmB,GAAG,KAAK;IAChCpE,KAAA,CAAKqE,iBAAiB,GAAG,IAAI;IAC7BrE,KAAA,CAAKe,YAAY,GAAG,CAAC,CAAC;IAAC,OAAAf,KAAA;EAC3B;EAAC,IAAAsE,aAAA,aAAA3E,WAAA;IAAAY,GAAA;IAAAgE,KAAA;MAAA,IAAAC,YAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAUD,SAAAC,QAAA;QAAA,IAAAC,MAAA;QAAA,IAAA/D,OAAA;QAAA,OAAA4D,YAAA,YAAAI,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACI,IAAI,CAACd,mBAAmB,GAAG,KAAK;cAACY,QAAA,CAAAE,IAAA;cAAA,OAEb,IAAI,CAAChE,YAAY,CAAC,GAAG,CAAC;YAAA;cAAtCJ,OAAO,GAAAkE,QAAA,CAAAG,IAAA;cAAA,MAEP,IAAI,CAACtE,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK;gBAAAuF,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAAF,QAAA,CAAAE,IAAA;cAAA,OACb,IAAI,CAACE,aAAa,KAAAC,mBAAA,aAAK,IAAI,CAACxE,KAAK,CAACiB,QAAQ,GAAGhB,OAAO,CAAC;YAAA;cAArEA,OAAO,GAAAkE,QAAA,CAAAG,IAAA;cAAAH,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,MAEP,IAAI,CAACrE,KAAK,CAAC8B,UAAU,IACrB,IAAI,CAAC9B,KAAK,CAAC8B,UAAU,KAAK,GAAG,KAC5B,CAAC,IAAI,CAACV,eAAe,IAAI,IAAI,CAACpB,KAAK,CAAC8B,UAAU,CAACJ,UAAU,CAAC,IAAI,CAACN,eAAe,CAAC,CAAC;gBAAA+C,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAAF,QAAA,CAAAE,IAAA;cAAA,OAEjE,IAAI,CAAChE,YAAY,CAAC,IAAI,CAACL,KAAK,CAAC8B,UAAU,EAAE7B,OAAO,CAAC;YAAA;cAAjEA,OAAO,GAAAkE,QAAA,CAAAG,IAAA;YAAA;cAGX,IAAI,CAAC/D,QAAQ,CAAC;gBAAEN,OAAO,EAAPA;cAAQ,CAAC,EAAE,YAAM;gBAC7B,IAAI+D,MAAI,CAAChE,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,IAAI,CAACoF,MAAI,CAACS,QAAQ,CAACT,MAAI,CAAChE,KAAK,CAAC6B,QAAQ,CAAC,EAAE;kBACtE,IAAM5D,KAAK,GAAG+F,MAAI,CAAChE,KAAK,CAAC6B,QAAQ,CAAC3D,KAAK,CAAC,GAAG,CAAC;kBAC5C,OAAOD,KAAK,CAACE,MAAM,IAAI,CAAC6F,MAAI,CAACS,QAAQ,CAACxG,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;oBACpDJ,KAAK,CAACG,GAAG,CAAC,CAAC;kBACf;kBACA,IAAIyD,QAAQ;kBACZ,IAAI5D,KAAK,CAACE,MAAM,EAAE;oBACd0D,QAAQ,GAAG5D,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC;kBAC9B,CAAC,MAAM;oBACHwD,QAAQ,GAAGnE,SAAS;kBACxB;kBACAsG,MAAI,CAACzD,QAAQ,CAAC;oBAAEsB,QAAQ,EAARA,QAAQ;oBAAEtD,IAAI,EAAEsD,QAAQ;oBAAE6C,SAAS,EAAE;kBAAM,CAAC,EAAE;oBAAA,OAAMV,MAAI,CAACW,gBAAgB,CAAC,CAAC;kBAAA,EAAC;gBAChG,CAAC,MAAM;kBACHX,MAAI,CAACW,gBAAgB,CAAC,CAAC;gBAC3B;gBACAX,MAAI,CAACT,mBAAmB,GAAG,IAAI;cACnC,CAAC,CAAC;YAAC;YAAA;cAAA,OAAAY,QAAA,CAAAS,IAAA;UAAA;QAAA,GAAAb,OAAA;MAAA,CACN;MAAA,SAAAc,YAAA;QAAA,OAAAlB,YAAA,CAAAtO,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAyP,WAAA;IAAA;EAAA;IAAAnF,GAAA;IAAAgE,KAAA,EAED,SAAAiB,iBAAA,EAAmB;MACf,IAAI,IAAI,CAACxB,OAAO,EAAE;QACd,IAAM2B,EAAE,GAAGC,QAAQ,CAACC,cAAc,CAAC,IAAI,CAAChF,KAAK,CAAC6B,QAAQ,CAAC;QACvDiD,EAAE,IAAIA,EAAE,CAACG,cAAc,CAAC,CAAC;MAC7B;IACJ;EAAC;IAAAvF,GAAA;IAAAgE,KAAA,EAED,SAAAwB,kBAAA,EAAoB;MAAA,IAAAC,MAAA;MAChB,IAAI,CAAChC,OAAO,GAAG,IAAI;MACnB,IAAI,CAAC0B,WAAW,CAAC,CAAC;MAClB,OAAO,IAAI,CAAC3F,KAAK,CAACkG,MAAM,CAACC,qBAAqB,CAAC,oBAAoB,CAAC,CAC/D/E,IAAI,CAAC,UAAAvL,MAAM,EAAI;QACZoQ,MAAI,CAAC3B,iBAAiB,GAAGzO,MAAM;QAC/BoQ,MAAI,CAAC3B,iBAAiB,IAAI2B,MAAI,CAACjG,KAAK,CAACkG,MAAM,CAACE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAEH,MAAI,CAACI,YAAY,CAAC;MAC3F,CAAC,CAAC;IACV;EAAC;IAAA7F,GAAA;IAAAgE,KAAA,EAED,SAAA8B,qBAAA,EAAuB;MACnB,IAAI,CAAChC,iBAAiB,IAAI,IAAI,CAACtE,KAAK,CAACkG,MAAM,CAACK,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAACF,YAAY,CAAC;MACzF,IAAI,CAACpC,OAAO,GAAG,KAAK;MACpB,IAAI,CAACE,UAAU,GAAG,IAAI;MACtB,IAAI,CAACC,iBAAiB,GAAG,KAAK;MAC9BvP,MAAM,CAAC2R,MAAM,CAAC,IAAI,CAACxF,YAAY,CAAC,CAC3ByF,OAAO,CAAC,UAAAC,KAAK;QAAA,OAAIA,KAAK,IAAIzF,YAAY,CAACyF,KAAK,CAAC;MAAA,EAAC;MACnD,IAAI,CAAC1F,YAAY,GAAG,CAAC,CAAC;IAC1B;EAAC;IAAAR,GAAA;IAAAgE,KAAA,EAED,SAAAa,cAAcsB,WAAW,EAAEC,WAAW,EAAEC,QAAQ,EAAE;MAAA,IAAAC,MAAA;MAC9C,IAAI,CAACF,WAAW,EAAE;QACdA,WAAW,GAAG,CAAC,CAAC;QAChB/R,MAAM,CAACkS,IAAI,CAAC,IAAI,CAACjG,KAAK,CAACC,OAAO,CAAC,CAAC0F,OAAO,CAAC,UAAA9H,MAAM;UAAA,OAAIiI,WAAW,CAACjI,MAAM,CAAC,GAAGmI,MAAI,CAAChG,KAAK,CAACC,OAAO,CAACpC,MAAM,CAAC;QAAA,EAAC;MACvG;MAEA,IAAI,CAACkI,QAAQ,EAAE;QACX,OAAO,IAAIG,OAAO,CAAC,UAAAC,OAAO,EAAI;UAC1BH,MAAI,CAACzB,aAAa,CAACsB,WAAW,EAAEC,WAAW,EAAEK,OAAO,CAAC;QACzD,CAAC,CAAC;MACN;MAEA,IAAI,CAACN,WAAW,IAAI,CAACA,WAAW,CAAC1H,MAAM,EAAE;QACrC,OAAO4H,QAAQ,CAACD,WAAW,CAAC;MAChC;MAEA,OAAO,IAAI,CAACzF,YAAY,CAACwF,WAAW,CAACO,KAAK,CAAC,CAAC,EAAEN,WAAW,CAAC,CACrDxF,IAAI,CAAC;QAAA,OAAOF,UAAU,CAAC;UAAA,OAAM4F,MAAI,CAACzB,aAAa,CAACsB,WAAW,EAAEC,WAAW,EAAEC,QAAQ,CAAC;QAAA,GAAE,CAAC,CAAC;MAAA,EAAC,SACnF,CAAC;QAAA,OAAM3F,UAAU,CAAC;UAAA,OAAM4F,MAAI,CAACzB,aAAa,CAACsB,WAAW,EAAEC,WAAW,EAAEC,QAAQ,CAAC;QAAA,GAAE,CAAC,CAAC;MAAA,EAAC;IACjG;EAAC;IAAArG,GAAA;IAAAgE,KAAA,EAED,SAAA2C,cAAcC,OAAO,EAAEC,OAAO,EAAE;MAAA,IAAAC,MAAA;MAC5B,OAAO,IAAIN,OAAO,CAAC,UAACC,OAAO,EAAEM,MAAM,EAAK;QACpC,IAAID,MAAI,CAACnD,UAAU,EAAE;UAAE;UACnBmD,MAAI,CAACnD,UAAU,CAACrB,IAAI,CAAC;YACjBmE,OAAO,EAAPA,OAAO;YAAEM,MAAM,EAANA,MAAM;YAAEH,OAAO,EAAPA,OAAO;YAAEC,OAAO,EAAPA;UAC9B,CAAC,CAAC;UACF,CAACC,MAAI,CAAClD,iBAAiB,IAAIkD,MAAI,CAACE,iBAAiB,CAAC,CAAC;QACvD;MACJ,CAAC,CAAC;IACN;EAAC;IAAAhH,GAAA;IAAAgE,KAAA,EAED,SAAAgD,kBAAkBC,KAAK,EAAE;MAAA,IAAAC,MAAA;MACrB,IAAI,CAAC,IAAI,CAACtD,iBAAiB,IAAI,IAAI,CAACD,UAAU,IAAI,IAAI,CAACA,UAAU,CAAClF,MAAM,EAAE;QACtE,IAAI,CAACmF,iBAAiB,GAAG,IAAI;QAC7B,IAAI,IAAI,CAACD,UAAU,CAAClF,MAAM,GAAG,EAAE,EAAE;UAC7B;UACA,IAAI,EAAE,IAAI,CAACkF,UAAU,CAAClF,MAAM,GAAG,EAAE,CAAC,EAAE;YAChC,IAAI,CAACoC,QAAQ,CAAC;cAAEqC,WAAW,EAAE,IAAI,CAACS,UAAU,CAAClF;YAAO,CAAC,CAAC;UAC1D;QACJ,CAAC,MAAM;UACH,IAAI,CAACoC,QAAQ,CAAC;YAAEqC,WAAW,EAAE,IAAI,CAACS,UAAU,CAAClF;UAAO,CAAC,CAAC;QAC1D;QAEA,IAAI,CAACkF,UAAU,CAAC,CAAC,CAAC,CAACwD,UAAU,GAAG,IAAI;QACpC,IAAI,CAAC3H,KAAK,CAACkG,MAAM,CAAC0B,OAAO,CAAC,IAAI,CAACzD,UAAU,CAAC,CAAC,CAAC,CAACiD,OAAO,EAAE,IAAI,CAACjD,UAAU,CAAC,CAAC,CAAC,CAACkD,OAAO,CAAC,CAC5EjG,IAAI,CAAC,UAAAyG,KAAK,EAAI;UACX,IAAIH,MAAI,CAACvD,UAAU,EAAE;YAAE;YACnB,IAAM2D,IAAI,GAAGJ,MAAI,CAACvD,UAAU,CAAC+C,KAAK,CAAC,CAAC;YACpC,IAAIY,IAAI,EAAE;cACN,IAAMb,OAAO,GAAGa,IAAI,CAACb,OAAO;cAC5Ba,IAAI,CAACb,OAAO,GAAG,IAAI;cACnBa,IAAI,CAACP,MAAM,GAAI,IAAI;cACnBO,IAAI,CAACV,OAAO,GAAG,IAAI;cACnBU,IAAI,CAACT,OAAO,GAAG,IAAI;cACnBJ,OAAO,CAACY,KAAK,CAAC;cACdH,MAAI,CAACtD,iBAAiB,GAAG,KAAK;cAC9B,IAAIsD,MAAI,CAACvD,UAAU,CAAClF,MAAM,EAAE;gBACxB,IAAIwI,KAAK,GAAG,CAAC,EAAE;kBACXC,MAAI,CAACF,iBAAiB,CAACC,KAAK,GAAG,CAAC,CAAC;gBACrC,CAAC,MAAM;kBACHvG,UAAU,CAAC;oBAAA,OAAMwG,MAAI,CAACF,iBAAiB,CAAC,CAAC,CAAC;kBAAA,GAAE,CAAC,CAAC;gBAClD;cACJ,CAAC,MAAM;gBACHE,MAAI,CAACrG,QAAQ,CAAC;kBAAEqC,WAAW,EAAE;gBAAE,CAAC,CAAC;cACrC;YACJ,CAAC,MAAM;cACHgE,MAAI,CAACrG,QAAQ,CAAC;gBAAEqC,WAAW,EAAE;cAAE,CAAC,CAAC;YACrC;UACJ;QACJ,CAAC,CAAC,SACI,CAAC,UAAAxP,CAAC,EAAI;UACR,IAAIwT,MAAI,CAACvD,UAAU,EAAE;YAAE;YACnB,IAAM2D,IAAI,GAAGJ,MAAI,CAACvD,UAAU,CAAC+C,KAAK,CAAC,CAAC;YACpC,IAAIY,IAAI,EAAE;cACN,IAAMP,MAAM,GAAGO,IAAI,CAACP,MAAM;cAC1BO,IAAI,CAACb,OAAO,GAAG,IAAI;cACnBa,IAAI,CAACP,MAAM,GAAG,IAAI;cAClBO,IAAI,CAACV,OAAO,GAAG,IAAI;cACnBU,IAAI,CAACT,OAAO,GAAG,IAAI;cACnBE,MAAM,CAACrT,CAAC,CAAC;cACTwT,MAAI,CAACtD,iBAAiB,GAAG,KAAK;cAC9B,IAAIsD,MAAI,CAACvD,UAAU,CAAClF,MAAM,EAAE;gBACxB,IAAIwI,KAAK,GAAG,CAAC,EAAE;kBACXC,MAAI,CAACF,iBAAiB,CAACC,KAAK,GAAG,CAAC,CAAC;gBACrC,CAAC,MAAM;kBACHvG,UAAU,CAAC;oBAAA,OAAMwG,MAAI,CAACF,iBAAiB,CAAC,CAAC,CAAC;kBAAA,GAAE,CAAC,CAAC;gBAClD;cACJ,CAAC,MAAM;gBACHE,MAAI,CAACrG,QAAQ,CAAC;kBAAEqC,WAAW,EAAE;gBAAE,CAAC,CAAC;cACrC;YACJ,CAAC,MAAM;cACHgE,MAAI,CAACrG,QAAQ,CAAC;gBAAEqC,WAAW,EAAE;cAAE,CAAC,CAAC;YACrC;UACJ;QACJ,CAAC,CAAC;MACV;IACJ;EAAC;IAAAlD,GAAA;IAAAgE,KAAA,EAED,SAAArD,aAAa4G,QAAQ,EAAEnB,WAAW,EAAEoB,WAAW,EAAEC,KAAK,EAAE;MAAA,IAAAC,MAAA;MACpD,IAAI,OAAOtB,WAAW,KAAK,SAAS,EAAE;QAClCqB,KAAK,GAAGrB,WAAW;QACnBA,WAAW,GAAG,IAAI;MACtB;MAEA,IAAI,CAACA,WAAW,EAAE;QACdA,WAAW,GAAG,CAAC,CAAC;QAChB/R,MAAM,CAACkS,IAAI,CAAC,IAAI,CAACjG,KAAK,CAACC,OAAO,CAAC,CAAC0F,OAAO,CAAC,UAAA9H,MAAM;UAAA,OAC1CiI,WAAW,CAACjI,MAAM,CAAC,GAAGuJ,MAAI,CAACpH,KAAK,CAACC,OAAO,CAACpC,MAAM,CAAC;QAAA,EAAC;MACzD;MAEA,IAAIiI,WAAW,CAACmB,QAAQ,CAAC,IAAI,CAACE,KAAK,EAAE;QACjC,IAAI,CAACD,WAAW,EAAE;UACd,OAAO,IAAIhB,OAAO,CAAC,UAACC,OAAO,EAAEM,MAAM,EAAK;YACpCP,OAAO,CAACjQ,GAAG,CAAC6P,WAAW,CAACmB,QAAQ,CAAC,CAACxF,MAAM,CAAC,UAAAuF,IAAI;cAAA,OAAIA,IAAI,CAACnJ,MAAM;YAAA,EAAC,CAACwJ,GAAG,CAAC,UAAAL,IAAI;cAAA,OAClEI,MAAI,CAAC/G,YAAY,CAAC2G,IAAI,CAACzH,EAAE,EAAEuG,WAAW,EAAE,IAAI,CAAC,SACnC,CAAC,YAAM,CAAE,CAAC,CAAC;YAAA,EAAC,CAAC,CACtBxF,IAAI,CAAC;cAAA,OAAM6F,OAAO,CAACL,WAAW,CAAC;YAAA,EAAC,SAC3B,CAAC,UAAAwB,KAAK;cAAA,OAAIb,MAAM,CAACa,KAAK,CAAC;YAAA,EAAC;UACtC,CAAC,CAAC;QACN;QAEA,OAAOpB,OAAO,CAACC,OAAO,CAACL,WAAW,CAAC;MACvC;MAEA,IAAI,CAACmB,QAAQ,IAAIA,QAAQ,KAAK,GAAG,EAAE;QAC/B,OAAO,IAAI,CAAC/H,KAAK,CAACkG,MAAM,CAACmC,aAAa,CAAC,CAAC,CACnCjH,IAAI,CAAC,UAAAkH,IAAI,EAAI;UACV,IAAMC,QAAQ,GAAG,EAAE;UACnB,IAAIC,QAAQ,GAAG,IAAI;UAEnB,IAAIN,MAAI,CAACpH,KAAK,CAAC+B,gBAAgB,EAAE;YAC7B,IAAMuE,QAAO,GAAGc,MAAI,CAACpH,KAAK,CAAC+B,gBAAgB,CAAC7D,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzDsJ,IAAI,GAAGA,IAAI,CAAC/F,MAAM,CAAC,UAAAkG,GAAG;cAAA,OAAIA,GAAG,CAACC,GAAG,KAAKtB,QAAO;YAAA,EAAC;UAClD,CAAC,MAAM,IAAI,CAACc,MAAI,CAACpH,KAAK,CAACoC,UAAU,EAAE;YAC/B;YACAoF,IAAI,GAAGA,IAAI,CAAC/F,MAAM,CAAC,UAAAkG,GAAG;cAAA,OAAI,CAACA,GAAG,CAACC,GAAG,CAACtG,QAAQ,CAAC,QAAQ,CAAC;YAAA,EAAC;UAC1D;UAEA,IAAM3B,GAAG,GAAG6H,IAAI,CAACK,SAAS,CAAC,UAAAF,GAAG;YAAA,OAAIA,GAAG,CAACC,GAAG,KAAK,kBAAkB;UAAA,EAAC;UACjE,IAAIjI,GAAG,KAAK,CAAC,CAAC,EAAE;YACZ6H,IAAI,CAACM,MAAM,CAACnI,GAAG,EAAE,CAAC,CAAC;UACvB;UAEA6H,IAAI,CAAC7B,OAAO,CAAC,UAAAgC,GAAG,EAAI;YAChB,IAAIP,MAAI,CAAChG,eAAe,IAAIgG,MAAI,CAAChG,eAAe,KAAKuG,GAAG,CAACC,GAAG,EAAE;cAC1D;YACJ;YAEA,IAAMZ,IAAI,GAAG;cACTzH,EAAE,EAAMoI,GAAG,CAACC,GAAG;cACf9J,IAAI,EAAI6J,GAAG,CAACC,GAAG;cACfG,KAAK,EAAIJ,GAAG,CAACK,MAAM,IAAIL,GAAG,CAACK,MAAM,CAAClK,IAAI,IAAK6J,GAAG,CAACC,GAAG;cAClDK,IAAI,EAAI,IAAI;cACZC,IAAI,EAAIP,GAAG,CAACO,IAAI;cAChBC,EAAE,EAAMR,GAAG,CAACQ,EAAE;cACd7O,KAAK,EAAGqO,GAAG,CAACK,MAAM,IAAIL,GAAG,CAACK,MAAM,CAAC1O,KAAK;cACtC8O,IAAI,EAAIT,GAAG,CAACK,MAAM,IAAIL,GAAG,CAACK,MAAM,CAACI,IAAI;cACrCvK,MAAM,EAAE,IAAI;cACZwK,GAAG,EAAKV,GAAG,CAACU,GAAG;cACf1B,KAAK,EAAG;YACZ,CAAC;YACD,IAAIK,IAAI,CAACzH,EAAE,KAAK7B,SAAS,EAAE;cACvB;cACAgK,QAAQ,GAAGV,IAAI;YACnB,CAAC,MAAM;cACHS,QAAQ,CAACzF,IAAI,CAACgF,IAAI,CAAC;YACvB;UACJ,CAAC,CAAC;UACFS,QAAQ,CAACa,IAAI,CAAC,UAACxU,CAAC,EAAE8J,CAAC;YAAA,OAAM9J,CAAC,CAACyL,EAAE,GAAG3B,CAAC,CAAC2B,EAAE,GAAG,CAAC,GAAIzL,CAAC,CAACyL,EAAE,GAAG3B,CAAC,CAAC2B,EAAE,GAAG,CAAC,CAAC,GAAG,CAAE;UAAA,CAAC,CAAC;UACnE,IAAI,CAAC6H,MAAI,CAAChG,eAAe,IAAIgG,MAAI,CAAChG,eAAe,KAAK1D,SAAS,EAAE;YAC7DgK,QAAQ,IAAID,QAAQ,CAACc,OAAO,CAACb,QAAQ,CAAC;UAC1C;UAEA5B,WAAW,CAACmB,QAAQ,IAAI,GAAG,CAAC,GAAGQ,QAAQ;UAEvC,IAAI,CAACP,WAAW,EAAE;YACd,OAAOhB,OAAO,CAACjQ,GAAG,CAACwR,QAAQ,CAAChG,MAAM,CAAC,UAAAuF,IAAI;cAAA,OAAIA,IAAI,CAACnJ,MAAM;YAAA,EAAC,CAACwJ,GAAG,CAAC,UAAAL,IAAI;cAAA,OAC5DI,MAAI,CAAC/G,YAAY,CAAC2G,IAAI,CAACzH,EAAE,EAAEuG,WAAW,EAAE,IAAI,CAAC,SACnC,CAAC,YAAM,CAAE,CAAC,CAAC;YAAA,EAAC,CAAC,CACtBxF,IAAI,CAAC;cAAA,OAAMwF,WAAW;YAAA,EAAC;UAChC;UAEA,OAAOA,WAAW;QACtB,CAAC,CAAC,SACI,CAAC,UAAA1S,CAAC;UAAA,OAAIgU,MAAI,CAAC7D,mBAAmB,IAAI3C,MAAM,CAAC4H,KAAK,4BAAAvR,MAAA,CAA4B7D,CAAC,CAAE,CAAC;QAAA,EAAC;MAC7F;MAEA,IAAM6K,KAAK,GAAKgJ,QAAQ,CAAC/I,KAAK,CAAC,GAAG,CAAC;MACnC,IAAMyI,KAAK,GAAK1I,KAAK,CAACE,MAAM;MAC5B,IAAMmI,OAAO,GAAGrI,KAAK,CAACmI,KAAK,CAAC,CAAC;MAC7B,IAAMG,OAAO,GAAGtI,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC;;MAE/B;MACA,OAAO,IAAI,CAACgI,aAAa,CAACC,OAAO,EAAEC,OAAO,CAAC,CACtCjG,IAAI,CAAC,UAAAyG,KAAK,EAAI;QACX,IAAMU,QAAQ,GAAG,EAAE;QAEnBV,KAAK,CAACpB,OAAO,CAAC,UAAA8C,IAAI,EAAI;UAClB,IAAMzB,IAAI,GAAG;YACTzH,EAAE,KAAAtI,MAAA,CAAWgQ,QAAQ,OAAAhQ,MAAA,CAAIwR,IAAI,CAACA,IAAI,CAAE;YACpCjK,GAAG,EAAOjF,iBAAK,CAACkF,gBAAgB,CAACgK,IAAI,CAACA,IAAI,CAAC;YAC3C5K,MAAM,EAAI4K,IAAI,CAACC,KAAK;YACpB5K,IAAI,EAAM2K,IAAI,CAACA,IAAI;YACnBhJ,IAAI,EAAMgJ,IAAI,CAACE,KAAK,IAAIF,IAAI,CAACE,KAAK,CAAClJ,IAAI;YACvCmJ,QAAQ,EAAEH,IAAI,CAACI,UAAU;YACzBR,GAAG,EAAOI,IAAI,CAACJ,GAAG;YAClB1B,KAAK,EAALA;UACJ,CAAC;UAED,IAAIS,MAAI,CAACpH,KAAK,CAAC+B,gBAAgB,EAAE;YAC7B,IAAIiF,IAAI,CAACnJ,MAAM,KAAKmJ,IAAI,CAACzH,EAAE,CAACmC,UAAU,IAAAzK,MAAA,CAAImQ,MAAI,CAACpH,KAAK,CAAC+B,gBAAgB,MAAG,CAAC,IAAIiF,IAAI,CAACzH,EAAE,KAAK6H,MAAI,CAACpH,KAAK,CAAC+B,gBAAgB,IAAIqF,MAAI,CAACpH,KAAK,CAAC+B,gBAAgB,CAACL,UAAU,IAAAzK,MAAA,CAAI+P,IAAI,CAACzH,EAAE,MAAG,CAAC,CAAC,EAAE;cAC5KkI,QAAQ,CAACzF,IAAI,CAACgF,IAAI,CAAC;YACvB,CAAC,MAAM,IAAIA,IAAI,CAACzH,EAAE,CAACmC,UAAU,IAAAzK,MAAA,CAAImQ,MAAI,CAACpH,KAAK,CAAC+B,gBAAgB,MAAG,CAAC,EAAE;cAC9D0F,QAAQ,CAACzF,IAAI,CAACgF,IAAI,CAAC;YACvB;UACJ,CAAC,MAAM,IAAII,MAAI,CAAC/F,WAAW,EAAE;YACzB,IAAI2F,IAAI,CAACnJ,MAAM,KAAKmJ,IAAI,CAACzH,EAAE,CAACmC,UAAU,IAAAzK,MAAA,CAAImQ,MAAI,CAAC/F,WAAW,MAAG,CAAC,IAAI2F,IAAI,CAACzH,EAAE,KAAK6H,MAAI,CAAC/F,WAAW,IAAI+F,MAAI,CAAC/F,WAAW,CAACK,UAAU,IAAAzK,MAAA,CAAI+P,IAAI,CAACzH,EAAE,MAAG,CAAC,CAAC,EAAE;cAC3IkI,QAAQ,CAACzF,IAAI,CAACgF,IAAI,CAAC;YACvB,CAAC,MAAM,IAAIA,IAAI,CAACzH,EAAE,CAACmC,UAAU,IAAAzK,MAAA,CAAImQ,MAAI,CAAC/F,WAAW,MAAG,CAAC,EAAE;cACnDoG,QAAQ,CAACzF,IAAI,CAACgF,IAAI,CAAC;YACvB;UACJ,CAAC,MAAM;YACHS,QAAQ,CAACzF,IAAI,CAACgF,IAAI,CAAC;UACvB;QACJ,CAAC,CAAC;QAEFS,QAAQ,CAACa,IAAI,CAAC3K,WAAW,CAAC;QAC1BmI,WAAW,CAACmB,QAAQ,CAAC,GAAGQ,QAAQ;QAEhC,IAAI,CAACP,WAAW,EAAE;UACd,OAAOhB,OAAO,CAACjQ,GAAG,CAACwR,QAAQ,CACtBhG,MAAM,CAAC,UAAAuF,IAAI;YAAA,OAAIA,IAAI,CAACnJ,MAAM;UAAA,EAAC,CAC3BwJ,GAAG,CAAC,UAAAL,IAAI;YAAA,OAAII,MAAI,CAAC/G,YAAY,CAAC2G,IAAI,CAACzH,EAAE,EAAEuG,WAAW,EAAE,IAAI,CAAC;UAAA,EAAC,CAAC,CAC3DxF,IAAI,CAAC;YAAA,OAAMwF,WAAW;UAAA,EAAC;QAChC;QAEA,OAAOA,WAAW;MACtB,CAAC,CAAC,SACI,CAAC,UAAA1S,CAAC,EAAI;QACRgU,MAAI,CAAC7D,mBAAmB,IAAI3C,MAAM,CAAC4H,KAAK,gBAAAvR,MAAA,CAAgBqP,OAAO,EAAArP,MAAA,CAAGsP,OAAO,OAAAtP,MAAA,CAAOsP,OAAO,IAAK,EAAE,QAAAtP,MAAA,CAAK7D,CAAC,CAAE,CAAC;QACvG0S,WAAW,CAACmB,QAAQ,CAAC,GAAG,EAAE;QAC1B,OAAOnB,WAAW;MACtB,CAAC,CAAC;IACV;EAAC;IAAApG,GAAA;IAAAgE,KAAA,EAED,SAAAoF,aAAa9B,IAAI,EAAE5T,CAAC,EAAE;MAAA,IAAA2V,MAAA;MAClB3V,CAAC,IAAIA,CAAC,CAAC4V,eAAe,CAAC,CAAC;MACxB,IAAM/H,QAAQ,OAAAuD,mBAAA,aAAO,IAAI,CAACxE,KAAK,CAACiB,QAAQ,CAAC;MACzC,IAAMtB,GAAG,GAAGsB,QAAQ,CAACN,OAAO,CAACqG,IAAI,CAACzH,EAAE,CAAC;MACrC,IAAII,GAAG,KAAK,CAAC,CAAC,EAAE;QACZsB,QAAQ,CAACe,IAAI,CAACgF,IAAI,CAACzH,EAAE,CAAC;QACtB0B,QAAQ,CAACqH,IAAI,CAAC,CAAC;QAEf,CAAC1H,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,gBAAgB,EAAEQ,IAAI,CAAC0H,SAAS,CAAChI,QAAQ,CAAC,CAAC;QAEjG,IAAI,CAAC+F,IAAI,CAACkC,IAAI,EAAE;UACZ,IAAI,CAAC7I,YAAY,CAAC2G,IAAI,CAACzH,EAAE,CAAC,CACrBe,IAAI,CAAC,UAAAL,OAAO;YAAA,OAAI8I,MAAI,CAACxI,QAAQ,CAAC;cAAEU,QAAQ,EAARA,QAAQ;cAAEhB,OAAO,EAAPA;YAAQ,CAAC,CAAC;UAAA,EAAC,SAChD,CAAC,UAAAkJ,GAAG;YAAA,OAAIvI,MAAM,CAAC4H,KAAK,CAACW,GAAG,KAAKpT,SAAS,GAAGgT,MAAI,CAAC7J,KAAK,CAAC3L,CAAC,CAAC,qBAAqB,EAAEyT,IAAI,CAACzH,EAAE,CAAC,GAAGwJ,MAAI,CAAC7J,KAAK,CAAC3L,CAAC,CAAC,qBAAqB,EAAEyT,IAAI,CAACzH,EAAE,CAAC,CAAC;UAAA,EAAC;QACpJ,CAAC,MAAM;UACH,IAAI,CAACgB,QAAQ,CAAC;YAAEU,QAAQ,EAARA;UAAS,CAAC,CAAC;QAC/B;MACJ,CAAC,MAAM;QACHA,QAAQ,CAAC6G,MAAM,CAACnI,GAAG,EAAE,CAAC,CAAC;QACvB,CAACiB,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,gBAAgB,EAAEQ,IAAI,CAAC0H,SAAS,CAAChI,QAAQ,CAAC,CAAC;QACjG,IAAI,CAACV,QAAQ,CAAC;UAAEU,QAAQ,EAARA;QAAS,CAAC,CAAC;MAC/B;IACJ;EAAC;IAAAvB,GAAA;IAAAgE,KAAA,EAoBD,SAAA0F,aAAahW,CAAC,EAAEyK,MAAM,EAAE;MAAA,IAAAwL,MAAA;MACpBjW,CAAC,IAAIA,CAAC,CAAC4V,eAAe,CAAC,CAAC;MAExB,IAAI,CAACM,UAAU,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;MAE5B,IAAIC,OAAO,GAAG5L,MAAM,IAAIE,YAAY,CAAC,IAAI,CAACiC,KAAK,CAAC8B,UAAU,CAAC;MAE3D,IAAI2H,OAAO,KAAK,GAAG,EAAE;QACjBA,OAAO,GAAG,EAAE;MAChB;MAEA,CAAC7I,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,kBAAkB,EAAE0I,OAAO,CAAC;MAElF,IAAI5L,MAAM,IAAIzK,CAAC,KAAKA,CAAC,CAACsW,MAAM,IAAItW,CAAC,CAACuW,QAAQ,IAAIvW,CAAC,CAACwW,OAAO,IAAIxW,CAAC,CAACyW,OAAO,CAAC,EAAE;QACnE,OAAO,IAAI,CAACtJ,QAAQ,CAAC;UAAEsB,QAAQ,EAAE4H;QAAQ,CAAC,CAAC;MAC/C;MAEA,IAAIA,OAAO,IAAI,CAAC,IAAI,CAACzJ,KAAK,CAACC,OAAO,CAACwJ,OAAO,CAAC,EAAE;QACzC,OAAO,IAAI,CAACpJ,YAAY,CAACoJ,OAAO,CAAC,CAC5BnJ,IAAI,CAAC,UAAAL,OAAO;UAAA,OACToJ,MAAI,CAAC9I,QAAQ,CAAC;YACVN,OAAO,EAAPA,OAAO;YACP1B,IAAI,EAAEkL,OAAO;YACb3H,UAAU,EAAE2H,OAAO;YACnB5H,QAAQ,EAAE4H,OAAO;YACjB/E,SAAS,EAAE;UACf,CAAC,EAAE;YAAA,OACC2E,MAAI,CAACnK,KAAK,CAAC4K,QAAQ,IAAIT,MAAI,CAACnK,KAAK,CAAC4K,QAAQ,CAAC,EAAE,CAAC;UAAA,EAAC;QAAA,EAAC;MAChE;MAEA,OAAO,IAAI,CAACvJ,QAAQ,CAAC;QACjBuB,UAAU,EAAE2H,OAAO;QACnB5H,QAAQ,EAAE4H,OAAO;QACjBlL,IAAI,EAAEkL,OAAO;QACb/E,SAAS,EAAE;MACf,CAAC,EAAE;QAAA,OACC2E,MAAI,CAACnK,KAAK,CAAC4K,QAAQ,IAAIT,MAAI,CAACnK,KAAK,CAAC4K,QAAQ,CAAC,EAAE,CAAC;MAAA,EAAC;IACvD;EAAC;IAAApK,GAAA;IAAAgE,KAAA,EAED,SAAAqG,OAAOxK,EAAE,EAAEnM,CAAC,EAAE4W,EAAE,EAAE;MAAA,IAAAC,OAAA;MACd,IAAI,OAAO7W,CAAC,KAAK,UAAU,EAAE;QACzB4W,EAAE,GAAG5W,CAAC;QACNA,CAAC,GAAG,IAAI;MACZ;MACAA,CAAC,IAAIA,CAAC,CAAC4V,eAAe,CAAC,CAAC;MACxB,IAAI,CAACM,UAAU,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;MAE5B,CAAC5I,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,gBAAgB,EAAExB,EAAE,CAAC;MAE3E,IAAI,CAACgB,QAAQ,CAAC;QAAEsB,QAAQ,EAAEtC,EAAE;QAAEhB,IAAI,EAAEgB,EAAE;QAAEmF,SAAS,EAAE;MAAM,CAAC,EAAE,YAAM;QAC9D,IAAIuF,OAAI,CAAC/K,KAAK,CAAC4K,QAAQ,EAAE;UACrB,IAAMtL,GAAG,GAAGjF,iBAAK,CAACkF,gBAAgB,CAACc,EAAE,CAAC;UACtC,IAAI,CAAC,CAAC0K,OAAI,CAAC/K,KAAK,CAACgL,WAAW,IAAID,OAAI,CAAC/K,KAAK,CAACgL,WAAW,CAACC,QAAQ,CAAC3L,GAAG,CAAC,MAC/D,CAACyL,OAAI,CAACjK,KAAK,CAAC+C,YAAY,IAAIqH,sBAAU,CAACH,OAAI,CAACjK,KAAK,CAAC+C,YAAY,CAAC,CAACoH,QAAQ,CAAC3L,GAAG,CAAC,CAAC,EACjF;YACEyL,OAAI,CAAC/K,KAAK,CAAC4K,QAAQ,CAACvK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC0K,OAAI,CAACjK,KAAK,CAACC,OAAO,CAACV,EAAE,CAAC,CAAC;UAC5D,CAAC,MAAM;YACH0K,OAAI,CAAC/K,KAAK,CAAC4K,QAAQ,CAAC,EAAE,CAAC;UAC3B;QACJ;QACAE,EAAE,IAAIA,EAAE,CAAC,CAAC;MACd,CAAC,CAAC;IACN;EAAC;IAAAtK,GAAA;IAAAgE,KAAA,EAED,SAAA2G,aAAarD,IAAI,EAAE/F,QAAQ,EAAE;MAAA,IAAAqJ,OAAA;MACzB,IAAI,IAAI,CAACtK,KAAK,CAACmC,WAAW,KAAK,CAAC,IAAI,CAACnC,KAAK,CAACC,OAAO,CAAC+G,IAAI,CAACzH,EAAE,CAAC,IAAI,CAAC,IAAI,CAACS,KAAK,CAACC,OAAO,CAAC+G,IAAI,CAACzH,EAAE,CAAC,CAACpB,MAAM,CAAC,IAAI6I,IAAI,CAACzH,EAAE,KAAK7B,SAAS,IAAI,CAACsJ,IAAI,CAACkC,IAAI,EAAE;QACxI,OAAO,IAAI;MACf;MACA,IAAMqB,IAAI,GAAGtJ,QAAQ,GAAGuJ,oBAAQ,GAAGC,sBAAU;MAC7C,IAAM5S,OAAO,GAAG,IAAI,CAACmI,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,GAAGoI,IAAI,CAACL,KAAK,GAAG,IAAI,CAACzD,YAAY,GAAG,CAAC;MAClF,IAAMwH,UAAU,GAAG1D,IAAI,CAAClJ,IAAI,KAAKJ,SAAS;MAC1C,IAAMiN,aAAa,GAAGD,UAAU,IAAI1D,IAAI,CAAClJ,IAAI,KAAK,OAAO,IAAIkJ,IAAI,CAAClJ,IAAI,KAAK,cAAc;MAEzF,oBAAO7L,MAAA,YAAA2Y,aAAA;QACHlL,GAAG,EAAEsH,IAAI,CAACzH,EAAG;QACbA,EAAE,EAAEyH,IAAI,CAACzH,EAAG;QACZsL,KAAK,EAAE,IAAI,CAAC7K,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,GAAG;UAAEhD,UAAU,EAAE/D,OAAO;UAAEP,KAAK,iBAAAL,MAAA,CAAiBY,OAAO;QAAK,CAAC,GAAG,CAAC,CAAE;QACvGiT,OAAO,EAAE,SAAAA,QAAA1X,CAAC;UAAA,OAAKkX,OAAI,CAACtK,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,GAAG0L,OAAI,CAACP,MAAM,CAAC/C,IAAI,CAACzH,EAAE,EAAEnM,CAAC,CAAC,GAAGkX,OAAI,CAAClB,YAAY,CAAChW,CAAC,EAAE4T,IAAI,CAACzH,EAAE,CAAC;QAAA,CAAE;QACxGwL,aAAa,EAAE,SAAAA,cAAA3X,CAAC;UAAA,OAAIkX,OAAI,CAACtK,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,IAAI0L,OAAI,CAACxB,YAAY,CAAC9B,IAAI,EAAE5T,CAAC,CAAC;QAAA,CAAC;QAChF2U,KAAK,EAAEf,IAAI,CAACe,KAAK,IAAI,IAAAiD,QAAA,aAAOhE,IAAI,CAACe,KAAK,MAAK,QAAQ,GAAIf,IAAI,CAACe,KAAK,CAAC,IAAI,CAAC7I,KAAK,CAAC+L,IAAI,CAAC,IAAIjE,IAAI,CAACe,KAAK,CAACmD,GAAG,IAAI,EAAE,GAAKlE,IAAI,CAACe,KAAK,IAAI,IAAM;QACnIoD,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CACjB,aAAa,EACb,IAAI,CAAClM,KAAK,CAAC8B,OAAO,QAAA/J,MAAA,CAAQ,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG,EAChD,IAAI,CAACzC,KAAK,CAAC8B,OAAO,cAAA/J,MAAA,CAAc,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG,EACtD,IAAI,CAAC3B,KAAK,CAAC6B,QAAQ,KAAKmF,IAAI,CAACzH,EAAE,IAAI,IAAI,CAACL,KAAK,CAAC8B,OAAO,CAACvG,YAAY,EAClEuM,IAAI,CAACkC,IAAI,IAAI,IAAI,CAAChK,KAAK,CAAC8B,OAAO,CAACtF,cACpC;MAAE,gBAEFzJ,MAAA,YAAA2Y,aAAA,CAACL,IAAI;QACDY,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CAAC,IAAI,CAAClM,KAAK,CAAC8B,OAAO,kBAAA/J,MAAA,CAAkB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG,EAAEgJ,aAAa,IAAI,IAAI,CAACzL,KAAK,CAAC8B,OAAO,CAACvD,aAAa,CAAE;QACrIqN,OAAO,EAAE,IAAI,CAAC9K,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,GAAG,UAAAxL,CAAC;UAAA,OAAIkX,OAAI,CAACxB,YAAY,CAAC9B,IAAI,EAAE5T,CAAC,CAAC;QAAA,IAAGiY;MAAU,CACxF,CAAC,eAEFpZ,MAAA,YAAA2Y,aAAA;QAAKO,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CAAC,IAAI,CAAClM,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG,EAAE,IAAI,CAACzC,KAAK,CAAC8B,OAAO,kBAAA/J,MAAA,CAAkB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG;MAAE,GAAE+I,UAAU,GAAG,IAAI,CAACxL,KAAK,CAAC3L,CAAC,CAAC,eAAe,CAAC,GAAGyT,IAAI,CAAClJ,IAAU,CAAC,eAE5M7L,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA8Y,MAAM;QAACC,MAAM;MAAA,gBACVtZ,MAAA,YAAA2Y,aAAA;QAAKO,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;MAAI,GAAE,IAAI,CAAC3B,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,IAAI,IAAI,CAACoB,KAAK,CAACC,OAAO,CAAC+G,IAAI,CAACzH,EAAE,CAAC,GAAG,IAAI,CAACS,KAAK,CAACC,OAAO,CAAC+G,IAAI,CAACzH,EAAE,CAAC,CAACpB,MAAM,GAAG,EAAQ,CAC/K,CAAC,eAETlM,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA8Y,MAAM;QAACC,MAAM;MAAA,GACT,IAAI,CAACvL,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,GAAG,IAAI,CAAC4M,SAAS,CAACxE,IAAI,CAACqB,GAAG,CAAC,GAAG,IACxD,CAAC,eAETpW,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA8Y,MAAM;QAACC,MAAM;MAAA,GACT,IAAI,CAACvL,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,IAAI,IAAI,CAACM,KAAK,CAACkD,UAAU,gBAAGnQ,MAAA,YAAA2Y,aAAA;QAAKO,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,oBAAA/J,MAAA,CAAoB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;MAAI,CAAE,CAAC,GAAG,IACzI,CAAC,EACR,IAAI,CAAC3B,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,IAAI,IAAI,CAACM,KAAK,CAACuM,aAAa,gBAAGxZ,MAAA,YAAA2Y,aAAA;QAAKO,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,qBAAA/J,MAAA,CAAqB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;MAAI,CAAE,CAAC,GAAG,IAAI,EAEpJ,IAAI,CAAC3B,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,IAAI,IAAI,CAACM,KAAK,CAACwM,WAAW,IAAI,IAAI,CAAC1L,KAAK,CAACC,OAAO,CAAC+G,IAAI,CAACzH,EAAE,CAAC,IAAI,IAAI,CAACS,KAAK,CAACC,OAAO,CAAC+G,IAAI,CAACzH,EAAE,CAAC,CAACpB,MAAM,gBACzHlM,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACP,cAAW,QAAQ;QACnBb,OAAO,EAAE,SAAAA,QAAA1X,CAAC,EAAI;UACVA,CAAC,CAAC4V,eAAe,CAAC,CAAC;UACnB,IAAIsB,OAAI,CAAClH,qBAAqB,GAAGmG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;YACzCc,OAAI,CAAC/H,UAAU,CAACyE,IAAI,CAACzH,EAAE,CAAC;UAC5B,CAAC,MAAM;YACH+K,OAAI,CAAC/J,QAAQ,CAAC;cAAEgC,UAAU,EAAEyE,IAAI,CAACzH;YAAG,CAAC,CAAC;UAC1C;QACJ,CAAE;QACF4L,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,oBAAA/J,MAAA,CAAoB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAI;QACxElC,IAAI,EAAC;MAAO,gBAEZxN,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAmZ,MAAU;QAACzT,QAAQ,EAAC;MAAO,CAAE,CACtB,CAAC,GAEZ,IAAI,CAAC6H,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,IAAI,IAAI,CAACM,KAAK,CAACwM,WAAW,gBAAGzZ,MAAA,YAAA2Y,aAAA;QAAKO,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,oBAAA/J,MAAA,CAAoB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;MAAI,CAAE,CAAC,GAAG,IACjJ,CAAC;IACV;EAAC;IAAAjC,GAAA;IAAAgE,KAAA,EAED,SAAAmI,iBAAA,EAAmB;MAAA,IAAAC,OAAA;MACf,oBAAO7Z,MAAA,YAAA2Y,aAAA;QACHlL,GAAG,EAAE,IAAI,CAACM,KAAK,CAAC8B,UAAW;QAC3BvC,EAAE,EAAE,IAAI,CAACS,KAAK,CAAC8B,UAAW;QAC1BgJ,OAAO,EAAE,SAAAA,QAAA1X,CAAC;UAAA,OAAI0Y,OAAI,CAAC1C,YAAY,CAAChW,CAAC,CAAC;QAAA,CAAC;QACnC2U,KAAK,EAAE,IAAI,CAAC7I,KAAK,CAAC3L,CAAC,CAAC,eAAe,EAAEwK,YAAY,CAAC,IAAI,CAACiC,KAAK,CAAC8B,UAAU,CAAC,CAAE;QAC1EqJ,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CACjB,aAAa,EACb,IAAI,CAAClM,KAAK,CAAC8B,OAAO,QAAA/J,MAAA,CAAQ,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG,EAChD,IAAI,CAACzC,KAAK,CAAC8B,OAAO,cAAA/J,MAAA,CAAc,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EACvD;MAAE,gBAEF1P,MAAA,YAAA2Y,aAAA,CAAC9X,WAAA,WAAU;QAACqY,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,kBAAA/J,MAAA,CAAkB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;MAAI,CAAE,CAAC,eACrF1P,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAsZ,SAAQ;QAACZ,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,CAAC/G;MAAmB,CAAE,CAAC,eAE9DhI,MAAA,YAAA2Y,aAAA;QACIO,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CAAC,IAAI,CAAClM,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG,EAAE,IAAI,CAACzC,KAAK,CAAC8B,OAAO,kBAAA/J,MAAA,CAAkB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG;MAAE,GAC3I,IAEI,CACJ,CAAC;IACV;EAAC;IAAAjC,GAAA;IAAAgE,KAAA,EAED,SAAAsI,WAAWvM,IAAI,EAAE;MACb,oBAAOxN,MAAA,YAAA2Y,aAAA;QAAKO,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;MAAI,GAAElC,IAAI,IAAIA,IAAI,KAAK,CAAC,GAAGlG,iBAAK,CAAC0S,WAAW,CAACxM,IAAI,CAAC,GAAG,EAAQ,CAAC;IAC1I;EAAC;IAAAC,GAAA;IAAAgE,KAAA,EAED,SAAA8H,UAAUnD,GAAG,EAAE;MAAA,IAAA6D,OAAA;MACX,IAAIC,MAAM,GAAG9D,GAAG,KAAKA,GAAG,CAAC+D,WAAW,IAAI/D,GAAG,CAACI,IAAI,CAAC;MACjD,IAAI0D,MAAM,EAAE;QACRA,MAAM,GAAGA,MAAM,CAACE,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;MACjD;MAEA,oBAAOra,MAAA,YAAA2Y,aAAA;QAAKO,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,cAAA/J,MAAA,CAAc,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;MAAI,gBAC1E1P,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACPlM,IAAI,EAAC,OAAO;QACZqL,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMoB,OAAI,CAAC3L,QAAQ,CAAC;YAAEoC,iBAAiB,EAAE;UAAK,CAAC,CAAC;QAAA,CAAC;QAC1DwI,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,iBAAA/J,MAAA,CAAiB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;MAAI,GAEpEwK,MAAM,IAAI,KACH,CACX,CAAC;IACV;EAAC;IAAAzM,GAAA;IAAAgE,KAAA,EAED,SAAA6I,YAAY/N,GAAG,EAAE;MACb,QAAQA,GAAG;QACP,KAAK,MAAM;QACX,KAAK,OAAO;UACR,oBAAOvM,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAA+Z,QAAQ;YAACrB,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;UAAI,CAAE,CAAC;QAExF,KAAK,KAAK;UACN,oBAAO1P,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAga,cAAO;YAACtB,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;UAAI,CAAE,CAAC;QAEvF,KAAK,IAAI;QACT,KAAK,IAAI;UACL,oBAAO1P,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAia,IAAM;YAACvB,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;UAAI,CAAE,CAAC;QAEtF,KAAK,MAAM;QACX,KAAK,IAAI;UACL,oBAAO1P,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAka,WAAQ;YAACxB,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;UAAI,CAAE,CAAC;QAExF,KAAK,KAAK;QACV,KAAK,KAAK;QACV,KAAK,KAAK;QACV,KAAK,KAAK;QACV,KAAK,KAAK;QACV,KAAK,MAAM;UACP,oBAAO1P,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAma,SAAS;YAACzB,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;UAAI,CAAE,CAAC;QAEzF;UACI,oBAAO1P,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAoa,eAAQ;YAAC1B,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;UAAI,CAAE,CAAC;MAC5F;IACJ;EAAC;IAAAjC,GAAA;IAAAgE,KAAA,EA6CD,SAAAoJ,WAAW9F,IAAI,EAAE;MAAA,IAAA+F,OAAA;MACb,IAAMlV,OAAO,GAAG,IAAI,CAACmI,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,GAAGoI,IAAI,CAACL,KAAK,GAAG,IAAI,CAACzD,YAAY,GAAG,CAAC;MAClF,IAAM1E,GAAG,GAAGjF,iBAAK,CAACkF,gBAAgB,CAACuI,IAAI,CAAClJ,IAAI,CAAC;MAE7C,oBAAO7L,MAAA,YAAA2Y,aAAA;QACHlL,GAAG,EAAEsH,IAAI,CAACzH,EAAG;QACbA,EAAE,EAAEyH,IAAI,CAACzH,EAAG;QACZwL,aAAa,EAAE,SAAAA,cAAA3X,CAAC,EAAI;UAChBA,CAAC,CAAC4V,eAAe,CAAC,CAAC;UACnB,IAAI,CAAC+D,OAAI,CAAC7N,KAAK,CAAC4K,QAAQ,EAAE;YACtBiD,OAAI,CAACxM,QAAQ,CAAC;cAAEiC,MAAM,EAAEuK,OAAI,CAAC9J,WAAW,GAAG+D,IAAI,CAACzH,EAAE;cAAEkD,cAAc,EAAEjE;YAAI,CAAC,CAAC;UAC9E,CAAC,MAAM,IACH,CAAC,CAACuO,OAAI,CAAC7N,KAAK,CAACgL,WAAW,IAAI6C,OAAI,CAAC7N,KAAK,CAACgL,WAAW,CAACC,QAAQ,CAACnD,IAAI,CAACxI,GAAG,CAAC,MACpE,CAACuO,OAAI,CAAC/M,KAAK,CAAC+C,YAAY,IAAIqH,sBAAU,CAAC2C,OAAI,CAAC/M,KAAK,CAAC+C,YAAY,CAAC,CAACoH,QAAQ,CAACnD,IAAI,CAACxI,GAAG,CAAC,CAAC,EACtF;YACEuO,OAAI,CAAC7N,KAAK,CAAC4K,QAAQ,CAAC9C,IAAI,CAACzH,EAAE,EAAE,IAAI,EAAE,CAAC,CAACwN,OAAI,CAAC/M,KAAK,CAACC,OAAO,CAAC+G,IAAI,CAACzH,EAAE,CAAC,CAAC;UACrE;QACJ,CAAE;QACFuL,OAAO,EAAE,SAAAA,QAAA1X,CAAC;UAAA,OAAI2Z,OAAI,CAAChD,MAAM,CAAC/C,IAAI,CAACzH,EAAE,EAAEnM,CAAC,CAAC;QAAA,CAAC;QACtCyX,KAAK,EAAE,IAAI,CAAC7K,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,GAAG;UAAEhD,UAAU,EAAE/D,OAAO;UAAEP,KAAK,iBAAAL,MAAA,CAAiBY,OAAO;QAAM,CAAC,GAAG,CAAC,CAAE;QACxGsT,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CACjB,aAAa,EACb,IAAI,CAAClM,KAAK,CAAC8B,OAAO,QAAA/J,MAAA,CAAQ,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG,EAChD,IAAI,CAACzC,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG,EACpD,IAAI,CAAC3B,KAAK,CAAC6B,QAAQ,KAAKmF,IAAI,CAACzH,EAAE,IAAI,IAAI,CAACL,KAAK,CAAC8B,OAAO,CAACvG,YAC1D;MAAE,GAED2P,sBAAU,CAACjU,MAAM,CAACgU,QAAQ,CAAC3L,GAAG,CAAC,GAC5B,IAAI,CAACwB,KAAK,CAAC8C,UAAU,CAACqH,QAAQ,CAACnD,IAAI,CAACzH,EAAE,CAAC,gBACnCtN,MAAA,YAAA2Y,aAAA,CAAC5X,WAAA,WAAU;QAACmY,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CAAC,IAAI,CAAClM,KAAK,CAAC8B,OAAO,aAAA/J,MAAA,CAAa,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG,EAAE,IAAI,CAACqL,uBAAuB,CAAC,CAAC;MAAE,CAAE,CAAC,gBAC5H/a,MAAA,YAAA2Y,aAAA;QACIqC,OAAO,EAAE,SAAAA,QAAA7Z,CAAC,EAAI;UACVA,CAAC,CAAC8Z,MAAM,CAACC,OAAO,GAAG,IAAI;UACvB,IAAMrK,UAAU,OAAA0B,mBAAA,aAAOuI,OAAI,CAAC/M,KAAK,CAAC8C,UAAU,CAAC;UAC7C,IAAI,CAACA,UAAU,CAACqH,QAAQ,CAACnD,IAAI,CAACzH,EAAE,CAAC,EAAE;YAC/BuD,UAAU,CAACd,IAAI,CAACgF,IAAI,CAACzH,EAAE,CAAC;YACxBwN,OAAI,CAACxM,QAAQ,CAAC;cAAEuC,UAAU,EAAVA;YAAW,CAAC,CAAC;UACjC;QACJ,CAAE;QACFqI,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CAAC,IAAI,CAAClM,KAAK,CAAC8B,OAAO,aAAA/J,MAAA,CAAa,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG,EAAE,IAAI,CAACqL,uBAAuB,CAAC,CAAC,CAAE;QAC7GI,GAAG,EAAE,IAAI,CAACnK,WAAW,GAAG+D,IAAI,CAACzH,EAAG;QAChC8N,GAAG,EAAErG,IAAI,CAAClJ;MAAK,CAClB,CAAC,GAEN,IAAI,CAACyO,WAAW,CAAC/N,GAAG,CAAC,eACzBvM,MAAA,YAAA2Y,aAAA;QAAKO,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;MAAI,GAAEqF,IAAI,CAAClJ,IAAU,CAAC,eACvF7L,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA8Y,MAAM;QAACC,MAAM;MAAA,GAAE,IAAI,CAACS,UAAU,CAAChF,IAAI,CAACvH,IAAI,CAAU,CAAC,eACpDxN,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA8Y,MAAM;QAACC,MAAM;MAAA,GAAE,IAAI,CAACvL,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,GAAG,IAAI,CAAC4M,SAAS,CAACxE,IAAI,CAACqB,GAAG,CAAC,GAAG,IAAa,CAAC,eACzFpW,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA8Y,MAAM;QAACC,MAAM;MAAA,GACT,IAAI,CAACvL,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,IAAI,IAAI,CAACM,KAAK,CAACkD,UAAU,IAAItD,WAAW,CAACwO,WAAW,CAAC9O,GAAG,CAAC,gBACnFvM,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACP,cAAW,MAAM;QACjBb,OAAO,EAAE,SAAAA,QAAA1X,CAAC,EAAI;UACVA,CAAC,CAAC4V,eAAe,CAAC,CAAC;UACnB,IAAI,CAAC+D,OAAI,CAAC7N,KAAK,CAAC4K,QAAQ,EAAE;YACtBiD,OAAI,CAACxM,QAAQ,CAAC;cAAEiC,MAAM,EAAEuK,OAAI,CAAC9J,WAAW,GAAG+D,IAAI,CAACzH,EAAE;cAAEkD,cAAc,EAAEjE;YAAI,CAAC,CAAC;UAC9E,CAAC,MAAM,IACH,CAAC,CAACuO,OAAI,CAAC7N,KAAK,CAACgL,WAAW,IAAI6C,OAAI,CAAC7N,KAAK,CAACgL,WAAW,CAACC,QAAQ,CAACnD,IAAI,CAACxI,GAAG,CAAC,MACpE,CAACuO,OAAI,CAAC/M,KAAK,CAAC+C,YAAY,IAAIqH,sBAAU,CAAC2C,OAAI,CAAC/M,KAAK,CAAC+C,YAAY,CAAC,CAACoH,QAAQ,CAACnD,IAAI,CAACxI,GAAG,CAAC,CAAC,EACtF;YACEuO,OAAI,CAAC7N,KAAK,CAAC4K,QAAQ,CAAC9C,IAAI,CAACzH,EAAE,EAAE,IAAI,EAAE,CAAC,CAACwN,OAAI,CAAC/M,KAAK,CAACC,OAAO,CAAC+G,IAAI,CAACzH,EAAE,CAAC,CAAC;UACrE;QACJ,CAAE;QACF4L,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,oBAAA/J,MAAA,CAAoB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAI;QACxElC,IAAI,EAAC;MAAO,gBAEZxN,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAA8a,IAAQ;QAACpV,QAAQ,EAAC;MAAO,CAAE,CACpB,CAAC,gBAEblG,MAAA,YAAA2Y,aAAA;QAAKO,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,oBAAA/J,MAAA,CAAoB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;MAAI,CAAE,CAC/E,CAAC,EACR,IAAI,CAAC3B,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,IAAI,IAAI,CAACM,KAAK,CAACuM,aAAa,gBAAGxZ,MAAA,YAAA2Y,aAAA;QACzDO,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,IAAI,CAAClM,KAAK,CAAC8B,OAAO,CAACnF,uBAAuB,CAAE;QACzI2R,QAAQ,EAAC,GAAG;QACZC,QAAQ,EAAEzG,IAAI,CAACzH,EAAG;QAClBmO,IAAI,EAAE,IAAI,CAACzK,WAAW,GAAG+D,IAAI,CAACzH,EAAG;QACjCuL,OAAO,EAAE,SAAAA,QAAA1X,CAAC,EAAI;UACVA,CAAC,CAAC4V,eAAe,CAAC,CAAC;QACvB;MAAE,gBAEF/W,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAkb,OAAY,MAAE,CAChB,CAAC,GAAG,IAAI,EAEV,IAAI,CAAC3N,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,IAC1B,IAAI,CAACM,KAAK,CAACwM,WAAW,IACtB1E,IAAI,CAACzH,EAAE,KAAK,QAAQ,IACpByH,IAAI,CAACzH,EAAE,KAAK,eAAe,IAC3ByH,IAAI,CAACzH,EAAE,KAAK7B,SAAS,gBAErBzL,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACP,cAAW,QAAQ;QACnBb,OAAO,EAAE,SAAAA,QAAA1X,CAAC,EAAI;UACVA,CAAC,CAAC4V,eAAe,CAAC,CAAC;UACnB,IAAI+D,OAAI,CAAC3J,qBAAqB,GAAGmG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;YACzCuD,OAAI,CAACxK,UAAU,CAACyE,IAAI,CAACzH,EAAE,CAAC;UAC5B,CAAC,MAAM;YACHwN,OAAI,CAACxM,QAAQ,CAAC;cAAEgC,UAAU,EAAEyE,IAAI,CAACzH;YAAG,CAAC,CAAC;UAC1C;QACJ,CAAE;QACF4L,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,oBAAA/J,MAAA,CAAoB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAI;QACxElC,IAAI,EAAC;MAAO,gBAEZxN,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAmZ,MAAU;QAACzT,QAAQ,EAAC;MAAO,CAAE,CACtB,CAAC,GAEZ,IAAI,CAAC6H,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,IAAI,IAAI,CAACM,KAAK,CAACwM,WAAW,gBACpDzZ,MAAA,YAAA2Y,aAAA;QAAKO,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,oBAAA/J,MAAA,CAAoB,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ;MAAI,CAAE,CAAC,GAEhF,IAEP,CAAC;IACV;EAAC;IAAAjC,GAAA;IAAAgE,KAAA,EAED,SAAAkK,YAAY3G,QAAQ,EAAE;MAAA,IAAA4G,OAAA;MAClB,IAAI,IAAI,CAAC7N,KAAK,CAACC,OAAO,IAAI,IAAI,CAACD,KAAK,CAACC,OAAO,CAACgH,QAAQ,CAAC,EAAE;QACpD;QACA,IAAI,IAAI,CAACjH,KAAK,CAAC2B,QAAQ,KAAK9C,IAAI,EAAE;UAC9B,IAAMiP,GAAG,GAAG,EAAE;UACd,IAAI7G,QAAQ,IAAIA,QAAQ,KAAK,GAAG,EAAE;YAC9B6G,GAAG,CAAC9L,IAAI,CAAC,IAAI,CAAC6J,gBAAgB,CAAC,CAAC,CAAC;UACrC;UACA,IAAI,CAAC7L,KAAK,CAACC,OAAO,CAACgH,QAAQ,CAAC,CAACtB,OAAO,CAAC,UAAAqB,IAAI,EAAI;YACzC,IAAIA,IAAI,CAACnJ,MAAM,EAAE;cACbiQ,GAAG,CAAC9L,IAAI,CAAC6L,OAAI,CAACxD,YAAY,CAACrD,IAAI,CAAC,CAAC;YACrC,CAAC,MAAM,IACH,CAAC,CAAC6G,OAAI,CAAC3O,KAAK,CAACgL,WAAW,IAAI2D,OAAI,CAAC3O,KAAK,CAACgL,WAAW,CAACC,QAAQ,CAACnD,IAAI,CAACxI,GAAG,CAAC,MACpE,CAACqP,OAAI,CAAC7N,KAAK,CAAC+C,YAAY,IAAIqH,sBAAU,CAACyD,OAAI,CAAC7N,KAAK,CAAC+C,YAAY,CAAC,CAACoH,QAAQ,CAACnD,IAAI,CAACxI,GAAG,CAAC,CAAC,EACtF;cACEsP,GAAG,CAAC9L,IAAI,CAAC6L,OAAI,CAACf,UAAU,CAAC9F,IAAI,CAAC,CAAC;YACnC;UACJ,CAAC,CAAC;UACF,OAAO8G,GAAG;QACd;QACA,OAAO,IAAI,CAAC9N,KAAK,CAACC,OAAO,CAACgH,QAAQ,CAAC,CAACI,GAAG,CAAC,UAAAL,IAAI,EAAI;UAC5C,IAAM8G,GAAG,GAAG,EAAE;UACd,IAAI9G,IAAI,CAACnJ,MAAM,EAAE;YACb,IAAMoD,QAAQ,GAAG4M,OAAI,CAAC7N,KAAK,CAACiB,QAAQ,CAACkJ,QAAQ,CAACnD,IAAI,CAACzH,EAAE,CAAC;YAEtDuO,GAAG,CAAC9L,IAAI,CAAC6L,OAAI,CAACxD,YAAY,CAACrD,IAAI,EAAE/F,QAAQ,CAAC,CAAC;YAC3C,IAAI4M,OAAI,CAAC7N,KAAK,CAACC,OAAO,CAAC+G,IAAI,CAACzH,EAAE,CAAC,IAAI0B,QAAQ,EAAE;cACzC6M,GAAG,CAAC9L,IAAI,CAAC6L,OAAI,CAACD,WAAW,CAAC5G,IAAI,CAACzH,EAAE,CAAC,CAAC;YACvC;UACJ,CAAC,MAAM,IACH,CAAC,CAACsO,OAAI,CAAC3O,KAAK,CAACgL,WAAW,IAAI2D,OAAI,CAAC3O,KAAK,CAACgL,WAAW,CAACC,QAAQ,CAACnD,IAAI,CAACxI,GAAG,CAAC,MACpE,CAACqP,OAAI,CAAC7N,KAAK,CAAC+C,YAAY,IAAIqH,sBAAU,CAACyD,OAAI,CAAC7N,KAAK,CAAC+C,YAAY,CAAC,CAACoH,QAAQ,CAACnD,IAAI,CAACxI,GAAG,CAAC,CAAC,EACtF;YACEsP,GAAG,CAAC9L,IAAI,CAAC6L,OAAI,CAACf,UAAU,CAAC9F,IAAI,CAAC,CAAC;UACnC,CAAC,MAAM;YACH,OAAO,IAAI;UACf;UAEA,OAAO8G,GAAG;QACd,CAAC,CAAC;MACN;MAEA,oBAAO7b,MAAA,YAAA2Y,aAAA;QAAKC,KAAK,EAAE;UAAErT,QAAQ,EAAE;QAAW;MAAE,gBACxCvF,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAub,gBAAgB;QAACrO,GAAG,EAAEuH,QAAS;QAAC3N,KAAK,EAAC,WAAW;QAACmG,IAAI,EAAE;MAAG,CAAE,CAAC,eAC/DxN,MAAA,YAAA2Y,aAAA;QAAKC,KAAK,EAAE;UACRrT,QAAQ,EAAE,UAAU;UAAE2C,MAAM,EAAE,CAAC;UAAED,GAAG,EAAE,CAAC;UAAE5C,KAAK,EAAE,EAAE;UAAEyB,SAAS,EAAE;QACnE;MAAE,GAEG,IAAI,CAACiH,KAAK,CAAC4C,WACX,CACJ,CAAC;IACV;EAAC;IAAAlD,GAAA;IAAAgE,KAAA,EAED,SAAAsK,cAAA,EAAgB;MAAA,IAAAC,OAAA;MACZ,IAAMC,QAAQ,GAAG,IAAI,CAAChP,KAAK,CAACiP,gBAAgB,GAAInY,eAAe,CAAC,IAAI,CAACgK,KAAK,CAAC+C,YAAY,IAAI,KAAK,CAAC,IAAI/M,eAAe,CAACC,GAAG,GAAI,IAAI;MAEhI,IAAMmY,UAAU,GAAG,IAAI,CAACC,eAAe,CAAC,IAAI,CAACrO,KAAK,CAAC6B,QAAQ,CAAC;MAE5D,oBAAO5P,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA8b,OAAO;QAAC5O,GAAG,EAAC,SAAS;QAAC6O,OAAO,EAAC;MAAO,GACxC,IAAI,CAACrP,KAAK,CAACsP,kBAAkB,IAAI,IAAI,CAACtP,KAAK,CAAC6C,gBAAgB,gBAAG9P,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACvE8C,IAAI,EAAC,OAAO;QACZ1G,KAAK,EAAE,IAAI,CAAC/H,KAAK,CAAC+B,gBAAgB,GAAG,IAAI,CAAC7C,KAAK,CAAC3L,CAAC,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC2L,KAAK,CAAC3L,CAAC,CAAC,uBAAuB,CAAE;QACjH4X,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CAAC,IAAI,CAAClM,KAAK,CAAC8B,OAAO,CAAC0N,UAAU,EAAE,IAAI,CAAC1O,KAAK,CAAC+B,gBAAgB,IAAI,IAAI,CAAC7C,KAAK,CAAC8B,OAAO,CAACjE,wBAAwB,CAAE;QACjI,cAAW,sBAAsB;QACjC+N,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMmD,OAAI,CAAC1N,QAAQ,CAAC;YACzBwB,gBAAgB,EAAEkM,OAAI,CAACjO,KAAK,CAAC+B,gBAAgB,GAAG,EAAE,GAAGkM,OAAI,CAAC/O,KAAK,CAAC6C,gBAAgB;YAChFc,cAAc,EAAE;UACpB,CAAC,CAAC;QAAA,CAAC;QACHpD,IAAI,EAAC;MAAO,gBAEZxN,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAkc,aAAc;QAACxW,QAAQ,EAAC;MAAO,CAAE,CAC1B,CAAC,GAAG,IAAI,EACnB,IAAI,CAAC+G,KAAK,CAAC0P,gBAAgB,gBAAG3c,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACtC8C,IAAI,EAAC,OAAO;QACZ1G,KAAK,EAAE,IAAI,CAAC7I,KAAK,CAAC3L,CAAC,CAAC,uBAAuB,CAAE;QAC7C4X,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CAAC,IAAI,CAAClM,KAAK,CAAC8B,OAAO,CAAC0N,UAAU,EAAE,IAAI,CAAC1O,KAAK,CAACoC,UAAU,IAAI,IAAI,CAAClD,KAAK,CAAC8B,OAAO,CAAClE,sBAAsB,CAAE;QACzH,cAAW,aAAa;QACxBgO,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMmD,OAAI,CAAC1N,QAAQ,CAAC;YAAE6B,UAAU,EAAE,CAAC6L,OAAI,CAACjO,KAAK,CAACoC;UAAW,CAAC,CAAC;QAAA,CAAC;QACrE3C,IAAI,EAAC;MAAO,gBAEZxN,MAAA,YAAA2Y,aAAA,CAAC/X,WAAA,WAAU;QAACsF,QAAQ,EAAC;MAAO,CAAE,CACtB,CAAC,GAAG,IAAI,EACnB,IAAI,CAAC+G,KAAK,CAAC0C,kBAAkB,gBAAG3P,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACxC8C,IAAI,EAAC,OAAO;QACZ1G,KAAK,EAAE,IAAI,CAAC7I,KAAK,CAAC3L,CAAC,CAAC,qBAAqB,CAAE;QAC3C4X,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,CAAC0N,UAAW;QACzC,cAAW,WAAW;QACtB5D,OAAO,EAAE,SAAAA,QAAA,EAAM;UACX,IAAMnJ,QAAQ,GAAGsM,OAAI,CAACjO,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,GAAGC,IAAI,GAAGD,KAAK;UAC7D,CAACgC,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,gBAAgB,EAAEY,QAAQ,CAAC;UACjF,IAAIG,UAAU,GAAGmM,OAAI,CAACjO,KAAK,CAAC6B,QAAQ;UACpC,IAAIvD,MAAM,CAACwD,UAAU,CAAC,EAAE;YACpBA,UAAU,GAAG/D,YAAY,CAAC+D,UAAU,CAAC;UACzC;UACAmM,OAAI,CAAC1N,QAAQ,CAAC;YAAEoB,QAAQ,EAARA,QAAQ;YAAEG,UAAU,EAAVA;UAAW,CAAC,EAAE,YAAM;YAC1C,IAAImM,OAAI,CAACjO,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,EAAE;cAC/BqP,OAAI,CAACtJ,gBAAgB,CAAC,CAAC;YAC3B;UACJ,CAAC,CAAC;QACN,CAAE;QACFlF,IAAI,EAAC;MAAO,GAEX,IAAI,CAACO,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,gBAAG3M,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAoc,IAAQ;QAAC1W,QAAQ,EAAC;MAAO,CAAE,CAAC,gBAAGlG,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAqc,UAAQ;QAAC3W,QAAQ,EAAC;MAAO,CAAE,CACrF,CAAC,GAAG,IAAI,eACpBlG,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACP8C,IAAI,EAAC,OAAO;QACZ1G,KAAK,EAAE,IAAI,CAAC7I,KAAK,CAAC3L,CAAC,CAAC,uBAAuB,CAAE;QAC7C4X,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,CAAC0N,UAAW;QACzCpV,KAAK,EAAE,IAAI,CAAC0G,KAAK,CAACmC,WAAW,GAAG,WAAW,GAAG,SAAU;QACxD,cAAW,cAAc;QACzB2I,OAAO,EAAE,SAAAA,QAAA,EAAM;UACX,CAAClK,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,YAAY,EAAE,CAACkN,OAAI,CAACjO,KAAK,CAACmC,WAAW,CAAC;UAC5F8L,OAAI,CAAC1N,QAAQ,CAAC;YAAE4B,WAAW,EAAE,CAAC8L,OAAI,CAACjO,KAAK,CAACmC;UAAY,CAAC,CAAC;QAC3D,CAAE;QACF1C,IAAI,EAAC;MAAO,gBAEZxN,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAsc,UAAe;QAAC5W,QAAQ,EAAC;MAAO,CAAE,CAC3B,CAAC,eACblG,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACP8C,IAAI,EAAC,OAAO;QACZ1G,KAAK,EAAE,IAAI,CAAC7I,KAAK,CAAC3L,CAAC,CAAC,iBAAiB,CAAE;QACvC4X,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,CAAC0N,UAAW;QACzCpV,KAAK,EAAC,SAAS;QACf,cAAW,cAAc;QACzBwR,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMmD,OAAI,CAAC1N,QAAQ,CAAC;YAAEN,OAAO,EAAE,CAAC;UAAE,CAAC,EAAE;YAAA,OAAMgO,OAAI,CAACpJ,WAAW,CAAC,CAAC;UAAA,EAAC;QAAA,CAAC;QACxEpF,IAAI,EAAC;MAAO,gBAEZxN,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAuc,OAAW;QAAC7W,QAAQ,EAAC;MAAO,CAAE,CACvB,CAAC,EACZ,IAAI,CAAC+G,KAAK,CAAC+P,iBAAiB,gBAAGhd,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACvC8C,IAAI,EAAC,OAAO;QACZS,QAAQ,EACJ,CAAC,IAAI,CAAClP,KAAK,CAAC6B,QAAQ,IACpB,CAACuM,UAAU,IAEP,IAAI,CAAC/M,WAAW,IAChB,CAAC,IAAI,CAACrB,KAAK,CAAC6B,QAAQ,CAACH,UAAU,IAAAzK,MAAA,CAAI,IAAI,CAACoK,WAAW,MAAG,CAAC,IACvD,IAAI,CAACA,WAAW,KAAK,IAAI,CAACrB,KAAK,CAAC6B,QAEvC;QACDkG,KAAK,EAAE,IAAI,CAAC7I,KAAK,CAAC3L,CAAC,CAAC,kBAAkB,CAAE;QACxC4X,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,CAAC0N,UAAW;QACzCpV,KAAK,EAAC,SAAS;QACf,cAAW,YAAY;QACvBwR,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMmD,OAAI,CAAC1N,QAAQ,CAAC;YAAE8B,SAAS,EAAE;UAAK,CAAC,CAAC;QAAA,CAAC;QAClD5C,IAAI,EAAC;MAAO,gBAEZxN,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAA0c,eAAa;QAAChX,QAAQ,EAAC;MAAO,CAAE,CACzB,CAAC,GAAG,IAAI,EACnB,IAAI,CAAC+G,KAAK,CAACkQ,WAAW,gBAAGnd,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACjC8C,IAAI,EAAC,OAAO;QACZS,QAAQ,EACJ,CAAC,IAAI,CAAClP,KAAK,CAAC6B,QAAQ,IACpB,CAACuM,UAAU,IAEP,IAAI,CAAC/M,WAAW,IAChB,CAAC,IAAI,CAACrB,KAAK,CAAC6B,QAAQ,CAACH,UAAU,IAAAzK,MAAA,CAAI,IAAI,CAACoK,WAAW,MAAG,CAAC,IACvD,IAAI,CAACA,WAAW,KAAK,IAAI,CAACrB,KAAK,CAAC6B,QAEvC;QACDkG,KAAK,EAAE,IAAI,CAAC7I,KAAK,CAAC3L,CAAC,CAAC,gBAAgB,CAAE;QACtC4X,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,CAAC0N,UAAW;QACzCpV,KAAK,EAAC,SAAS;QACf,cAAW,aAAa;QACxBwR,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMmD,OAAI,CAAC1N,QAAQ,CAAC;YAAE+B,UAAU,EAAE;UAAK,CAAC,CAAC;QAAA,CAAC;QACnD7C,IAAI,EAAC;MAAO,gBAEZxN,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAA4c,OAAU;QAAClX,QAAQ,EAAC;MAAO,CAAE,CACtB,CAAC,GAAG,IAAI,EACnB,IAAI,CAAC+G,KAAK,CAACiP,gBAAgB,gBAAGlc,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA8c,OAAO;QAACvH,KAAK,EAAE,IAAI,CAAC7I,KAAK,CAAC3L,CAAC,CAAC,iBAAiB;MAAE,gBAC3EtB,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QAAClM,IAAI,EAAC,OAAO;QAACqL,OAAO,EAAE,SAAAA,QAAA1X,CAAC;UAAA,OAAI6a,OAAI,CAAC1N,QAAQ,CAAC;YAAEyC,aAAa,EAAE5P,CAAC,CAAC8Z;UAAO,CAAC,CAAC;QAAA;MAAC,gBAC9Ejb,MAAA,YAAA2Y,aAAA,CAACsD,QAAQ;QAAC/V,QAAQ,EAAC;MAAO,CAAE,CACpB,CACP,CAAC,GAAG,IAAI,EAChB,IAAI,CAAC6H,KAAK,CAACgD,aAAa,gBAAG/Q,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA+c,IAAI;QAC7BC,IAAI,EAAE,CAAC,CAAE;QACTC,QAAQ,EAAE,IAAI,CAACzP,KAAK,CAACgD,aAAc;QACnC0M,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMzB,OAAI,CAAC1N,QAAQ,CAAC;YAAEyC,aAAa,EAAE;UAAK,CAAC,CAAC;QAAA;MAAC,GAErDjP,MAAM,CAACkS,IAAI,CAACjQ,eAAe,CAAC,CAACqR,GAAG,CAAC,UAAAsI,IAAI,EAAI;QACtC,IAAMC,MAAM,GAAG5Z,eAAe,CAAC2Z,IAAI,CAAC;QACpC,oBAAO1d,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAqd,QAAQ;UACZnQ,GAAG,EAAEiQ,IAAK;UACV9N,QAAQ,EAAEoM,OAAI,CAACjO,KAAK,CAAC+C,YAAY,KAAK4M,IAAK;UAC3C7E,OAAO,EAAE,SAAAA,QAAA,EAAM;YACX,IAAI6E,IAAI,KAAK,KAAK,EAAE;cAChB,CAAC/O,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEgP,UAAU,CAAC,oBAAoB,CAAC;cAC9E7B,OAAI,CAAC1N,QAAQ,CAAC;gBAAEwC,YAAY,EAAE,EAAE;gBAAEC,aAAa,EAAE;cAAK,CAAC,CAAC;YAC5D,CAAC,MAAM;cACH,CAACpC,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,oBAAoB,EAAE4O,IAAI,CAAC;cACjF1B,OAAI,CAAC1N,QAAQ,CAAC;gBAAEwC,YAAY,EAAE4M,IAAI;gBAAE3M,aAAa,EAAE;cAAK,CAAC,CAAC;YAC9D;UACJ;QAAE,gBAEF/Q,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAud,YAAY,qBAAC9d,MAAA,YAAA2Y,aAAA,CAACgF,MAAM;UAACzX,QAAQ,EAAC;QAAO,CAAE,CAAe,CAAC,eACxDlG,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAwd,YAAY,QAAE/B,OAAI,CAAC/O,KAAK,CAAC3L,CAAC,gBAAA0D,MAAA,CAAgB0Y,IAAI,CAAE,CAAgB,CAC3D,CAAC;MACf,CAAC,CACC,CAAC,GAAG,IAAI,eACd1d,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA8c,OAAO;QAACvH,KAAK,EAAE,IAAI,CAAC7I,KAAK,CAAC3L,CAAC,CAAC,qBAAqB;MAAE,gBAChDtB,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACPrS,KAAK,EAAC,SAAS;QACfmV,IAAI,EAAC,OAAO;QACZtD,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,CAAC0N,UAAW;QACzC5D,OAAO,EAAE,IAAI,CAACmF,uBAAwB;QACtCxQ,IAAI,EAAC;MAAO,gBAEZxN,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAyd,WAAe;QAAC/X,QAAQ,EAAC;MAAO,CAAE,CAC3B,CACP,CAAC,EACT,IAAI,CAAC6H,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,IAAI,IAAI,CAACM,KAAK,CAACwM,WAAW,gBAAGzZ,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA8c,OAAO;QAACvH,KAAK,EAAE,IAAI,CAAC7I,KAAK,CAAC3L,CAAC,CAAC,WAAW;MAAE,gBACjGtB,MAAA,YAAA2Y,aAAA,4BACI3Y,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;QACP,cAAW,QAAQ;QACnBuD,QAAQ,EACJ,CAAC,IAAI,CAAClP,KAAK,CAAC6B,QAAQ,IACpB,IAAI,CAAC7B,KAAK,CAAC6B,QAAQ,KAAK,QAAQ,IAChC,IAAI,CAAC7B,KAAK,CAAC6B,QAAQ,KAAK,eAAe,IACvC,IAAI,CAAC7B,KAAK,CAAC6B,QAAQ,KAAKnE,SAC3B;QACDpE,KAAK,EAAC,SAAS;QACfmV,IAAI,EAAC,OAAO;QACZtD,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,CAAC0N,UAAW;QACzC5D,OAAO,EAAE,SAAAA,QAAA1X,CAAC,EAAI;UACVA,CAAC,CAAC4V,eAAe,CAAC,CAAC;UACnB,IAAIiF,OAAI,CAAC7K,qBAAqB,GAAGmG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;YACzCyE,OAAI,CAAC1L,UAAU,CAAC0L,OAAI,CAACjO,KAAK,CAAC6B,QAAQ,CAAC;UACxC,CAAC,MAAM;YACHoM,OAAI,CAAC1N,QAAQ,CAAC;cAAEgC,UAAU,EAAE0L,OAAI,CAACjO,KAAK,CAAC6B;YAAS,CAAC,CAAC;UACtD;QACJ,CAAE;QACFpC,IAAI,EAAC;MAAO,gBAEZxN,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAmZ,MAAU;QAACzT,QAAQ,EAAC;MAAO,CAAE,CACtB,CACV,CACD,CAAC,GAAG,IACR,CAAC;IACd;EAAC;IAAAuH,GAAA;IAAAgE,KAAA,EAED,SAAAe,SAASlF,EAAE,EAAEU,OAAO,EAAE;MAClBA,OAAO,GAAGA,OAAO,IAAI,IAAI,CAACD,KAAK,CAACC,OAAO;MACvC,IAAI,CAACA,OAAO,EAAE;QACV,OAAO,IAAI;MACf;MACA,IAAMhC,KAAK,GAAGsB,EAAE,CAACrB,KAAK,CAAC,GAAG,CAAC;MAC3BD,KAAK,CAACG,GAAG,CAAC,CAAC;MACX,IAAM+R,YAAY,GAAGlS,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG;MAC3C,IAAI,CAAC4B,OAAO,CAACkQ,YAAY,CAAC,EAAE;QACxB,OAAO,IAAI;MACf;MACA,OAAOlQ,OAAO,CAACkQ,YAAY,CAAC,CAACC,IAAI,CAAC,UAAApJ,IAAI;QAAA,OAAIA,IAAI,CAACzH,EAAE,KAAKA,EAAE;MAAA,EAAC;IAC7D;EAAC;IAAAG,GAAA;IAAAgE,KAAA,EAED,SAAA2M,kBAAA,EAAoB;MAAA,IAAAC,OAAA;MAChB,IAAI,IAAI,CAACtQ,KAAK,CAACqC,SAAS,EAAE;QACtB,IAAM8N,YAAY,GAAG,IAAI,CAAC9B,eAAe,CAAC,IAAI,CAACrO,KAAK,CAAC6B,QAAQ,CAAC;QAE9D,IAAI,CAACsO,YAAY,EAAE;UACf,OAAOvP,MAAM,CAAC4H,KAAK,CAAC,IAAI,CAACtJ,KAAK,CAAC3L,CAAC,CAAC,2BAA2B,CAAC,CAAC;QAClE;QAEA,oBAAOtB,MAAA,YAAA2Y,aAAA,CAAChY,UAAA,WAAe;UACnB8M,GAAG,EAAC,aAAa;UACjB6Q,SAAS,EAAE,IAAI,CAACrR,KAAK,CAAC3L,CAAC,CAAC,WAAW,CAAE;UACrCid,UAAU,EAAE,IAAI,CAACtR,KAAK,CAAC3L,CAAC,CAAC,WAAW,CAAE;UACtCkd,SAAS,EAAE,IAAI,CAACvR,KAAK,CAAC3L,CAAC,CAAC,4BAA4B,EAAE,IAAI,CAACyM,KAAK,CAAC6B,QAAQ,CAAE;UAC3E6O,UAAU,EAAE,IAAI,CAACxR,KAAK,CAAC3L,CAAC,CAAC,yFAAyF,CAAE;UACpHod,SAAS,EAAE,IAAI,CAACzR,KAAK,CAAC3L,CAAC,CAAC,gBAAgB,CAAE;UAC1Cqd,MAAM,EAAE,SAAAA,OAAAC,IAAI;YAAA,OAAKP,OAAI,CAACtQ,KAAK,CAACC,OAAO,CAACkQ,YAAY,CAAC,CAACC,IAAI,CAAC,UAAApJ,IAAI;cAAA,OAAIA,IAAI,CAAClJ,IAAI,KAAK+S,IAAI;YAAA,EAAC,GAAG,EAAE,GAAGP,OAAI,CAACpR,KAAK,CAAC3L,CAAC,CAAC,mBAAmB,CAAC;UAAA,CAAE;UAC7Hmc,OAAO,EAAE,SAAAA,QAAA5R,IAAI,EAAI;YACb,IAAIA,IAAI,EAAE;cACN,IAAMmC,OAAO,GAAG,CAAC,CAAC;cAClBlM,MAAM,CAACkS,IAAI,CAACqK,OAAI,CAACtQ,KAAK,CAACC,OAAO,CAAC,CAAC0F,OAAO,CAAC,UAAA9H,MAAM;gBAAA,OAAIoC,OAAO,CAACpC,MAAM,CAAC,GAAGyS,OAAI,CAACtQ,KAAK,CAACC,OAAO,CAACpC,MAAM,CAAC;cAAA,EAAC;cAC/F,IAAMiT,MAAM,GAAGR,OAAI,CAAC7L,QAAQ,CAAC0L,YAAY,CAAC;cAC1C,IAAM5Q,EAAE,MAAAtI,MAAA,CAAMkZ,YAAY,OAAAlZ,MAAA,CAAI6G,IAAI,CAAE;cACpCmC,OAAO,CAACkQ,YAAY,CAAC,CAACnO,IAAI,CAAC;gBACvBzC,EAAE,EAAFA,EAAE;gBACFoH,KAAK,EAAEmK,MAAM,CAACnK,KAAK,GAAG,CAAC;gBACvB7I,IAAI,EAAJA,IAAI;gBACJD,MAAM,EAAE,IAAI;gBACZqL,IAAI,EAAE;cACV,CAAC,CAAC;cAEFjJ,OAAO,CAACkQ,YAAY,CAAC,CAAC7H,IAAI,CAAC3K,WAAW,CAAC;cAEvCsC,OAAO,CAACV,EAAE,CAAC,GAAG,EAAE;cAChB,IAAM0B,QAAQ,OAAAuD,mBAAA,aAAO8L,OAAI,CAACtQ,KAAK,CAACiB,QAAQ,CAAC;cACzC,IAAI,CAACA,QAAQ,CAACkJ,QAAQ,CAACgG,YAAY,CAAC,EAAE;gBAClClP,QAAQ,CAACe,IAAI,CAACmO,YAAY,CAAC;gBAC3BlP,QAAQ,CAACqH,IAAI,CAAC,CAAC;cACnB;cACA,CAAC1H,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,gBAAgB,EAAEQ,IAAI,CAAC0H,SAAS,CAAChI,QAAQ,CAAC,CAAC;cACjGqP,OAAI,CAAC/P,QAAQ,CAAC;gBAAE8B,SAAS,EAAE,KAAK;gBAAEpC,OAAO,EAAPA,OAAO;gBAAEgB,QAAQ,EAARA;cAAS,CAAC,EAAE;gBAAA,OACnDqP,OAAI,CAACvG,MAAM,CAACxK,EAAE,CAAC;cAAA,EAAC;YACxB,CAAC,MAAM;cACH+Q,OAAI,CAAC/P,QAAQ,CAAC;gBAAE8B,SAAS,EAAE;cAAM,CAAC,CAAC;YACvC;UACJ,CAAE;UACF0O,OAAO,EAAE,SAAAA,QAAAF,IAAI;YAAA,OAAIA,IAAI,CAACE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;UAAA;QAAC,CACnD,CAAC;MACN;MACA,OAAO,IAAI;IACf;EAAC;IAAArR,GAAA;IAAAgE,KAAA,EAED,SAAAsN,mBAAA,CAAmB;IAAA,EAAuC;MAAA,IAAAC,OAAA;MACtD,IAAI,CAACC,eAAe,IAAI/Q,YAAY,CAAC,IAAI,CAAC+Q,eAAe,CAAC;MAC1D,IAAI,CAACA,eAAe,GAAG9Q,UAAU,CAAC,YAAM;QACpC6Q,OAAI,CAACC,eAAe,GAAG,IAAI;QAC3B,IAAMC,KAAK,GAAGvQ,MAAM,CAACmE,QAAQ,CAACqM,sBAAsB,CAAC,aAAa,CAAC;QACnE,KAAK,IAAI9c,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6c,KAAK,CAAChT,MAAM,EAAE7J,CAAC,EAAE,EAAE;UACnC6c,KAAK,CAAC7c,CAAC,CAAC,CAACuW,KAAK,CAAC5S,OAAO,GAAG,CAAC;QAC9B;MACJ,CAAC,EAAE,GAAG,CAAC;IACX;EAAC;IAAAyH,GAAA;IAAAgE,KAAA,EAED,SAAApB,WAAW9C,QAAQ,EAAE6R,IAAI,EAAE;MACvB,IAAMpT,KAAK,GAAGuB,QAAQ,CAACtB,KAAK,CAAC,GAAG,CAAC;MACjC,IAAMoI,OAAO,GAAGrI,KAAK,CAACmI,KAAK,CAAC,CAAC;MAC7B,OAAO,IAAI,CAAClH,KAAK,CAACkG,MAAM,CAACkM,WAAW,CAAChL,OAAO,EAAErI,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC,EAAEgT,IAAI,CAAC,SAC1D,CAAC,UAAAje,CAAC;QAAA,OAAIwN,MAAM,CAAC4H,KAAK,uBAAAvR,MAAA,CAAuB7D,CAAC,CAAE,CAAC;MAAA,EAAC;IAC5D;EAAC;IAAAsM,GAAA;IAAAgE,KAAA,EAED,SAAA2K,gBAAgB9O,EAAE,EAAE;MAChB,IAAI4Q,YAAY,GAAG5Q,EAAE;MACrB,IAAMyH,IAAI,GAAG,IAAI,CAACvC,QAAQ,CAAC0L,YAAY,CAAC;MACxC;MACA,IAAInJ,IAAI,IAAI,CAACA,IAAI,CAACnJ,MAAM,EAAE;QACtB,IAAMI,KAAK,GAAGkS,YAAY,CAACjS,KAAK,CAAC,GAAG,CAAC;QACrCD,KAAK,CAACG,GAAG,CAAC,CAAC;QACX+R,YAAY,GAAG,EAAE;QACjB,OAAOlS,KAAK,CAACE,MAAM,EAAE;UACjB,IAAMoT,KAAK,GAAG,IAAI,CAAC9M,QAAQ,CAACxG,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC,CAAC;UAC5C,IAAIkT,KAAK,IAAIA,KAAK,CAAC1T,MAAM,EAAE;YACvBsS,YAAY,GAAGlS,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC;YAC9B;UACJ;QACJ;MACJ;MAEA,OAAO8R,YAAY;IACvB;EAAC;IAAAzQ,GAAA;IAAAgE,KAAA,EAED,SAAA8N,aAAA,EAAe;MAAA,IAAAC,OAAA;MACX,IAAI,IAAI,CAACzR,KAAK,CAACsC,UAAU,EAAE;QACvB,OAAO,cACHrQ,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAkf,GAAG;UACAhS,GAAG,EAAC,OAAO;UACXpG,KAAK,EAAC,SAAS;UACf,cAAW,OAAO;UAClB6R,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,CAACpE,iBAAkB;UAChDkO,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAM2G,OAAI,CAAClR,QAAQ,CAAC;cAAE+B,UAAU,EAAE;YAAM,CAAC,CAAC;UAAA;QAAC,gBAEpDrQ,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAkf,KAAS,MAAE,CACX,CAAC,eACN1f,MAAA,YAAA2Y,aAAA,CAACrY,cAAA,WAAQ;UACLmN,GAAG,EAAC,UAAU;UACdkS,WAAW,EAAE,SAAAA,YAAA;YAAA,OAAMH,OAAI,CAAClR,QAAQ,CAAC;cAAE+B,UAAU,EAAE;YAAW,CAAC,CAAC;UAAA,CAAC;UAC7DuP,WAAW,EAAE,SAAAA,YAAA;YAAA,OAAMJ,OAAI,CAAClR,QAAQ,CAAC;cAAE+B,UAAU,EAAE;YAAK,CAAC,CAAC;UAAA,CAAC;UACvDwP,MAAM,EAAE,SAAAA,OAAAC,aAAa,EAAI;YACrB,IAAIC,KAAK,GAAGD,aAAa,CAAC5T,MAAM;YAEhC4T,aAAa,CAACpM,OAAO,CAAC,UAAA8C,IAAI,EAAI;cAC1B,IAAMwJ,MAAM,GAAG,IAAIC,UAAU,CAAC,CAAC;cAE/BD,MAAM,CAACE,OAAO,GAAG;gBAAA,OAAMrS,OAAO,CAACC,GAAG,CAAC,0BAA0B,CAAC;cAAA;cAC9DkS,MAAM,CAAC9E,OAAO,GAAG;gBAAA,OAAMrN,OAAO,CAACC,GAAG,CAAC,yBAAyB,CAAC;cAAA;cAC7DkS,MAAM,CAACG,MAAM,GAAI,YAAM;gBACnB,IAAMjC,YAAY,GAAGsB,OAAI,CAACpD,eAAe,CAACoD,OAAI,CAACzR,KAAK,CAAC6B,QAAQ,CAAC;gBAE9D,IAAI,CAACsO,YAAY,EAAE;kBACfvP,MAAM,CAAC4H,KAAK,CAACiJ,OAAI,CAACvS,KAAK,CAAC3L,CAAC,CAAC,2BAA2B,CAAC,CAAC;gBAC3D,CAAC,MAAM;kBACH,IAAMgM,EAAE,MAAAtI,MAAA,CAAMkZ,YAAY,OAAAlZ,MAAA,CAAIwR,IAAI,CAAC3K,IAAI,CAAE;kBAEzC2T,OAAI,CAACnP,UAAU,CAAC/C,EAAE,EAAE0S,MAAM,CAACld,MAAM,CAAC,CAC7BuL,IAAI,CAAC,YAAM;oBACR,IAAI,CAAC,GAAE0R,KAAK,EAAE;sBACVP,OAAI,CAAClR,QAAQ,CAAC;wBAAE+B,UAAU,EAAE;sBAAM,CAAC,EAAE,YAAM;wBACvC,IAAImP,OAAI,CAACjO,iBAAiB,EAAE;0BACxB;0BACA,IAAMvC,QAAQ,OAAAuD,mBAAA,aAAOiN,OAAI,CAACzR,KAAK,CAACiB,QAAQ,CAAC;0BACzC,IAAI,CAACA,QAAQ,CAACkJ,QAAQ,CAACgG,YAAY,CAAC,EAAE;4BAClClP,QAAQ,CAACe,IAAI,CAACmO,YAAY,CAAC;4BAC3BlP,QAAQ,CAACqH,IAAI,CAAC,CAAC;4BACf,CAAC1H,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,gBAAgB,EAAEQ,IAAI,CAAC0H,SAAS,CAAChI,QAAQ,CAAC,CAAC;0BACrG;0BACAwQ,OAAI,CAAClR,QAAQ,CAAC;4BAAEU,QAAQ,EAARA;0BAAS,CAAC,EAAE;4BAAA,OACxBwQ,OAAI,CAAC1H,MAAM,CAACxK,EAAE,CAAC;0BAAA,EAAC;wBACxB,CAAC,MAAM;0BACHa,UAAU,CACN;4BAAA,OACIqR,OAAI,CAACpR,YAAY,CAAC8P,YAAY,EAAE,IAAI,CAAC,CAChC7P,IAAI,CAAC,UAAAL,OAAO,EAAI;8BACb;8BACA,IAAMgB,QAAQ,OAAAuD,mBAAA,aAAOiN,OAAI,CAACzR,KAAK,CAACiB,QAAQ,CAAC;8BACzC,IAAI,CAACA,QAAQ,CAACkJ,QAAQ,CAACgG,YAAY,CAAC,EAAE;gCAClClP,QAAQ,CAACe,IAAI,CAACmO,YAAY,CAAC;gCAC3BlP,QAAQ,CAACqH,IAAI,CAAC,CAAC;gCACf,CAAC1H,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,gBAAgB,EAAEQ,IAAI,CAAC0H,SAAS,CAAChI,QAAQ,CAAC,CAAC;8BACrG;8BACAwQ,OAAI,CAAClR,QAAQ,CAAC;gCAAEN,OAAO,EAAPA,OAAO;gCAAEgB,QAAQ,EAARA;8BAAS,CAAC,EAAE;gCAAA,OACjCwQ,OAAI,CAAC1H,MAAM,CAACxK,EAAE,CAAC;8BAAA,EAAC;4BACxB,CAAC,CAAC;0BAAA,GACV,GACJ,CAAC;wBACL;sBACJ,CAAC,CAAC;oBACN;kBACJ,CAAC,CAAC;gBACV;cACJ,CAAC;cAED0S,MAAM,CAACI,iBAAiB,CAAC5J,IAAI,CAAC;YAClC,CAAC,CAAC;UACN;QAAE,GAED,UAAA6J,KAAA;UAAA,IAAGC,YAAY,GAAAD,KAAA,CAAZC,YAAY;YAAEC,aAAa,GAAAF,KAAA,CAAbE,aAAa;UAAA,oBAC3BvgB,MAAA,YAAA2Y,aAAA,YAAA6H,SAAA;YACItH,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CAACqG,OAAI,CAACvS,KAAK,CAAC8B,OAAO,CAAC3E,SAAS,EAAEoV,OAAI,CAACzR,KAAK,CAACsC,UAAU,KAAK,UAAU,IAAImP,OAAI,CAACvS,KAAK,CAAC8B,OAAO,CAACzE,iBAAiB;UAAE,GAC9HgW,YAAY,CAAC,CAAC,gBAElBtgB,MAAA,YAAA2Y,aAAA,UAAW4H,aAAa,CAAC,CAAI,CAAC,eAC9BvgB,MAAA,YAAA2Y,aAAA;YAAKO,SAAS,EAAEsG,OAAI,CAACvS,KAAK,CAAC8B,OAAO,CAACxE;UAAgB,gBAC/CvK,MAAA,YAAA2Y,aAAA;YAAKO,SAAS,EAAEsG,OAAI,CAACvS,KAAK,CAAC8B,OAAO,CAACnE;UAAwB,gBACvD5K,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAA4c,OAAU;YAAClE,SAAS,EAAEsG,OAAI,CAACvS,KAAK,CAAC8B,OAAO,CAACtE;UAAiB,CAAE,CAAC,eAC9DzK,MAAA,YAAA2Y,aAAA;YAAKO,SAAS,EAAEsG,OAAI,CAACvS,KAAK,CAAC8B,OAAO,CAACrE;UAAiB,GAE5C8U,OAAI,CAACzR,KAAK,CAACsC,UAAU,KAAK,UAAU,GAAGmP,OAAI,CAACvS,KAAK,CAAC3L,CAAC,CAAC,mBAAmB,CAAC,GACpEke,OAAI,CAACvS,KAAK,CAAC3L,CAAC,CAAC,kEAAkE,CAEtF,CACJ,CACJ,CACJ,CAAC;QAAA,CACJ,CAAC,CACd;MACL;MACA,OAAO,IAAI;IACf;EAAC;IAAAmM,GAAA;IAAAgE,KAAA,EAED,SAAAgP,gBAAgBnT,EAAE,EAAE;MAAA,IAAAoT,OAAA;MAChB,IAAM3L,IAAI,GAAG,IAAI,CAACvC,QAAQ,CAAClF,EAAE,CAAC;MAC9B,IAAIyH,IAAI,CAACnJ,MAAM,EAAE;QACb,OAAO,CAAC,IAAI,CAACmC,KAAK,CAACC,OAAO,CAACV,EAAE,CAAC,GAAG2G,OAAO,CAACjQ,GAAG,CAAC,IAAI,CAAC+J,KAAK,CAACC,OAAO,CAACV,EAAE,CAAC,CAAC8H,GAAG,CAAC,UAAAkK,KAAK;UAAA,OACzEoB,OAAI,CAACD,eAAe,CAACnB,KAAK,CAAChS,EAAE,CAAC;QAAA,EAAC,CAAC,GAAG2G,OAAO,CAACC,OAAO,CAAC,CAAC,EACnD7F,IAAI,CAAC,YAAM;UACR;UACA,IAAI0G,IAAI,CAACL,KAAK,IAAI,CAAC,EAAE;YACjB,IAAM1I,OAAK,GAAGsB,EAAE,CAACrB,KAAK,CAAC,GAAG,CAAC;YAC3B,IAAMoI,SAAO,GAAGrI,OAAK,CAACmI,KAAK,CAAC,CAAC;YAC7BuM,OAAI,CAACzT,KAAK,CAACkG,MAAM,CAACwN,YAAY,CAACtM,SAAO,EAAErI,OAAK,CAACI,IAAI,CAAC,GAAG,CAAC,CAAC,CACnDiC,IAAI,CAAC,YAAM;cACR;cACA,IAAML,OAAO,GAAGsB,IAAI,CAACC,KAAK,CAACD,IAAI,CAAC0H,SAAS,CAAC0J,OAAI,CAAC3S,KAAK,CAACC,OAAO,CAAC,CAAC;cAC9D,OAAOA,OAAO,CAAC+G,IAAI,CAACzH,EAAE,CAAC;cACvB;cACA,IAAMsT,QAAQ,GAAG9U,YAAY,CAACiJ,IAAI,CAACzH,EAAE,CAAC;cACtC,IAAM4Q,YAAY,GAAGlQ,OAAO,CAAC4S,QAAQ,CAAC;cACtC,IAAI1C,YAAY,EAAE;gBACd,IAAMxQ,GAAG,GAAGwQ,YAAY,CAACxP,OAAO,CAACwP,YAAY,CAACC,IAAI,CAAC,UAAA0C,CAAC;kBAAA,OAAIA,CAAC,CAACvT,EAAE,KAAKyH,IAAI,CAACzH,EAAE;gBAAA,EAAC,CAAC;gBAC1E,IAAII,GAAG,KAAK,CAAC,CAAC,EAAE;kBACZwQ,YAAY,CAACrI,MAAM,CAACnI,GAAG,EAAE,CAAC,CAAC;gBAC/B;gBAEAgT,OAAI,CAAC5I,MAAM,CAAC8I,QAAQ,EAAE;kBAAA,OAAMF,OAAI,CAACpS,QAAQ,CAAC;oBAAEN,OAAO,EAAPA;kBAAQ,CAAC,CAAC;gBAAA,EAAC;cAC3D;YACJ,CAAC,CAAC;UACV;QACJ,CAAC,CAAC;MACV;MAEA,IAAMhC,KAAK,GAAGsB,EAAE,CAACrB,KAAK,CAAC,GAAG,CAAC;MAC3B,IAAMoI,OAAO,GAAGrI,KAAK,CAACmI,KAAK,CAAC,CAAC;MAC7B,IAAInI,KAAK,CAACE,MAAM,EAAE;QACd,OAAO,IAAI,CAACe,KAAK,CAACkG,MAAM,CAAC2N,UAAU,CAACzM,OAAO,EAAErI,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC,CAAC,SACnD,CAAC,UAAAjL,CAAC;UAAA,OAAIwN,MAAM,CAAC4H,KAAK,wBAAAvR,MAAA,CAAwB7D,CAAC,CAAE,CAAC;QAAA,EAAC;MAC7D;MACA,OAAO8S,OAAO,CAACC,OAAO,CAAC,CAAC;IAC5B;EAAC;IAAAzG,GAAA;IAAAgE,KAAA,EAED,SAAAnB,WAAWA,WAAU,EAAE;MAAA,IAAAyQ,OAAA;MACnBzQ,WAAU,GAAGA,WAAU,IAAI,IAAI,CAACvC,KAAK,CAACuC,UAAU;MAEhD,IAAI,CAAChC,QAAQ,CAAC;QAAEgC,UAAU,EAAE;MAAG,CAAC,EAAE;QAAA,OAC9ByQ,OAAI,CAACN,eAAe,CAACnQ,WAAU,CAAC,CAC3BjC,IAAI,CAAC,YAAM;UACR,IAAM2S,QAAQ,GAAG,CAAC,CAAC;UACnB,IAAMtT,GAAG,GAAGqT,OAAI,CAAChT,KAAK,CAACiB,QAAQ,CAACN,OAAO,CAAC4B,WAAU,CAAC;UACnD,IAAI5C,GAAG,KAAK,CAAC,CAAC,EAAE;YACZ,IAAMsB,QAAQ,OAAAuD,mBAAA,aAAOwO,OAAI,CAAChT,KAAK,CAACiB,QAAQ,CAAC;YACzCA,QAAQ,CAAC6G,MAAM,CAACnI,GAAG,EAAE,CAAC,CAAC;YACvB,CAACiB,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAAC,gBAAgB,EAAEQ,IAAI,CAAC0H,SAAS,CAAChI,QAAQ,CAAC,CAAC;YACjGgS,QAAQ,CAAChS,QAAQ,GAAGA,QAAQ;UAChC;UAEA,IAAI+R,OAAI,CAAChT,KAAK,CAAC6B,QAAQ,KAAKU,WAAU,EAAE;YACpC,IAAMtE,KAAK,GAAG+U,OAAI,CAAChT,KAAK,CAAC6B,QAAQ,CAAC3D,KAAK,CAAC,GAAG,CAAC;YAC5CD,KAAK,CAACG,GAAG,CAAC,CAAC;YACX6U,QAAQ,CAACpR,QAAQ,GAAG5D,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC;UACvC;UAEA,IAAI,CAAC2U,OAAI,CAACxP,iBAAiB,EAAE;YACzB,IAAM2M,YAAY,GAAG6C,OAAI,CAAC3E,eAAe,CAAC9L,WAAU,CAAC;YACrD,IAAMtC,OAAO,GAAG,CAAC,CAAC;YAElBlM,MAAM,CAACkS,IAAI,CAAC+M,OAAI,CAAChT,KAAK,CAACC,OAAO,CAAC,CAAC0F,OAAO,CAAC,UAAA7H,IAAI,EAAI;cAC5C,IAAIA,IAAI,KAAKqS,YAAY,IAAI,CAACrS,IAAI,CAAC4D,UAAU,IAAAzK,MAAA,CAAIkZ,YAAY,MAAG,CAAC,EAAE;gBAC/DlQ,OAAO,CAACnC,IAAI,CAAC,GAAGkV,OAAI,CAAChT,KAAK,CAACC,OAAO,CAACnC,IAAI,CAAC;cAC5C;YACJ,CAAC,CAAC;YAEFmV,QAAQ,CAAChT,OAAO,GAAGA,OAAO;YAE1B+S,OAAI,CAACzS,QAAQ,CAAC0S,QAAQ,EAAE;cAAA,OACpB7S,UAAU,CAAC;gBAAA,OAAM4S,OAAI,CAACzO,aAAa,KAAAC,mBAAA,aAAKwO,OAAI,CAAChT,KAAK,CAACiB,QAAQ,GAAGhB,OAAO,CAAC,CACjEK,IAAI,CAAC,UAAAmH,QAAQ;kBAAA,OAAIuL,OAAI,CAACzS,QAAQ,CAAC;oBAAEN,OAAO,EAAEwH;kBAAS,CAAC,CAAC;gBAAA,EAAC;cAAA,GAAE,GAAG,CAAC;YAAA,EAAC;UAC1E,CAAC,MAAM;YACHuL,OAAI,CAACzS,QAAQ,CAAC0S,QAAQ,CAAC;UAC3B;QACJ,CAAC,CAAC;MAAA,EAAC;IACf;EAAC;IAAAvT,GAAA;IAAAgE,KAAA,EAED,SAAAwP,mBAAA,EAAqB;MAAA,IAAAC,OAAA;MACjB,IAAI,IAAI,CAACnT,KAAK,CAACuC,UAAU,EAAE;QACvB,oBAAOtQ,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA4gB,MAAM;UACV1T,GAAG,EAAC,cAAc;UAClB8P,IAAI,EAAE,CAAC,CAAE;UACTE,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAMyD,OAAI,CAAC5S,QAAQ,CAAC;cAAEgC,UAAU,EAAE;YAAG,CAAC,CAAC;UAAA,CAAC;UACjD,mBAAgB;QAA6B,gBAE7CtQ,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA6gB,WAAW;UAAC9T,EAAE,EAAC;QAA6B,GAAE,IAAI,CAACL,KAAK,CAAC3L,CAAC,CAAC,2BAA2B,EAAE,IAAI,CAACyM,KAAK,CAACuC,UAAU,CAACrE,KAAK,CAAC,GAAG,CAAC,CAACE,GAAG,CAAC,CAAC,CAAe,CAAC,eAC/InM,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA8gB,aAAa,qBACVrhB,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA+gB,iBAAiB,QACb,IAAI,CAACrU,KAAK,CAAC3L,CAAC,CAAC,kBAAkB,CACjB,CACR,CAAC,eAChBtB,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAghB,aAAa,qBACVvhB,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAihB,MAAM;UACHna,KAAK,EAAC,MAAM;UACZiV,OAAO,EAAC,WAAW;UACnBzD,OAAO,EAAE,SAAAA,QAAA,EAAM;YACXqI,OAAI,CAAC/P,qBAAqB,GAAGmG,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;YACnD2J,OAAI,CAAC5Q,UAAU,CAAC,CAAC;UACrB;QAAE,GAED,IAAI,CAACrD,KAAK,CAAC3L,CAAC,CAAC,mCAAmC,CAC7C,CAAC,eACTtB,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAihB,MAAM;UAAClF,OAAO,EAAC,WAAW;UAACzD,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAMqI,OAAI,CAAC5Q,UAAU,CAAC,CAAC;UAAA,CAAC;UAACjJ,KAAK,EAAC,SAAS;UAACoa,SAAS;QAAA,GAAE,IAAI,CAACxU,KAAK,CAAC3L,CAAC,CAAC,WAAW,CAAU,CAAC,eAC5HtB,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAihB,MAAM;UAAClF,OAAO,EAAC,WAAW;UAACzD,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAMqI,OAAI,CAAC5S,QAAQ,CAAC;cAAEgC,UAAU,EAAE;YAAG,CAAC,CAAC;UAAA,CAAC;UAACjJ,KAAK,EAAC;QAAM,GAAE,IAAI,CAAC4F,KAAK,CAAC3L,CAAC,CAAC,WAAW,CAAU,CACnH,CACX,CAAC;MACb;MACA,OAAO,KAAK;IAChB;EAAC;IAAAmM,GAAA;IAAAgE,KAAA,EAED,SAAAiQ,iBAAA,EAAmB;MAAA,IAAAC,OAAA;MACf,OAAO,IAAI,CAAC5T,KAAK,CAACwC,MAAM,gBAAGvQ,MAAA,YAAA2Y,aAAA,CAAC1X,WAAA,WAAU;QAClCsQ,iBAAiB,EAAE,IAAI,CAACA,iBAAkB;QAC1C9D,GAAG,EAAE,IAAI,CAACM,KAAK,CAACwC,MAAO;QACvBkL,IAAI,EAAE,IAAI,CAAC1N,KAAK,CAACwC,MAAO;QACxBC,cAAc,EAAE,IAAI,CAACzC,KAAK,CAACyC,cAAe;QAC1CoR,SAAS,EAAE,IAAI,CAAC3U,KAAK,CAAC2U,SAAU;QAChC5D,uBAAuB,EAAE,IAAI,CAACA,uBAAwB;QACtDjD,uBAAuB,EAAE,IAAI,CAACA,uBAAwB;QACtDzZ,CAAC,EAAE,IAAI,CAAC2L,KAAK,CAAC3L,CAAE;QAChB6R,MAAM,EAAE,IAAI,CAAClG,KAAK,CAACkG,MAAO;QAC1B6F,IAAI,EAAE,IAAI,CAAC/L,KAAK,CAAC+L,IAAK;QACtB7I,UAAU,EAAE,IAAI,CAACpC,KAAK,CAACoC,UAAW;QAClCsN,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMkE,OAAI,CAACrT,QAAQ,CAAC;YAAEiC,MAAM,EAAE,EAAE;YAAEC,cAAc,EAAE;UAAG,CAAC,CAAC;QAAA;MAAC,CACpE,CAAC,GAAG,IAAI;IACb;EAAC;IAAA/C,GAAA;IAAAgE,KAAA,EAED,SAAAoQ,YAAA,EAAc;MAAA,IAAAC,OAAA;MACV,IAAI,IAAI,CAAC/T,KAAK,CAAC0C,SAAS,EAAE;QACtB,oBAAOzQ,MAAA,YAAA2Y,aAAA,CAAClY,MAAA,WAAW;UACfsO,OAAO,EAAE,CAAE,CAAE;UACbtB,GAAG,EAAC,aAAa;UACjBmR,IAAI,EAAE,IAAI,CAAC7Q,KAAK,CAAC0C,SAAU;UAC3BgN,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAMqE,OAAI,CAACxT,QAAQ,CAAC;cAAEmC,SAAS,EAAE;YAAG,CAAC,CAAC;UAAA;QAAC,CACnD,CAAC;MACN;MACA,OAAO,IAAI;IACf;EAAC;IAAAhD,GAAA;IAAAgE,KAAA,EAED,SAAAsQ,aAAA,EAAe;MAAA,IAAAC,OAAA;MACX7T,UAAU,CAAC,YAAM;QACb,IAAI6T,OAAI,CAACjU,KAAK,CAACzB,IAAI,KAAK0V,OAAI,CAACjU,KAAK,CAAC6B,QAAQ,KAAK,CAACoS,OAAI,CAAC3K,UAAU,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGyK,OAAI,CAAC3K,UAAU,GAAG,GAAG,CAAC,EAAE;UACrG,IAAIzL,MAAM,GAAGoW,OAAI,CAACjU,KAAK,CAACzB,IAAI;UAC5B,IAAID,MAAM,CAAC2V,OAAI,CAACjU,KAAK,CAACzB,IAAI,CAAC,EAAE;YACzBV,MAAM,GAAGE,YAAY,CAACkW,OAAI,CAACjU,KAAK,CAACzB,IAAI,CAAC;UAC1C;UACA,IAAI2H,OAAO,CAAC,UAAAC,OAAO,EAAI;YACnB,IAAI,CAAC8N,OAAI,CAACjU,KAAK,CAACC,OAAO,CAACpC,MAAM,CAAC,EAAE;cAC7BoW,OAAI,CAAC5T,YAAY,CAACxC,MAAM,CAAC,CACpByC,IAAI,CAAC,UAAAL,OAAO;gBAAA,OAAIgU,OAAI,CAAC1T,QAAQ,CAAC;kBAAEN,OAAO,EAAPA;gBAAQ,CAAC,EAAE;kBAAA,OAAMkG,OAAO,CAAC,IAAI,CAAC;gBAAA,EAAC;cAAA,EAAC,SAC3D,CAAC,UAAAgD,GAAG;gBAAA,OAAI8K,OAAI,CAAC1T,QAAQ,CAAC;kBAAEmC,SAAS,EAAEyG,GAAG,KAAKpT,SAAS,GAAGke,OAAI,CAAC/U,KAAK,CAAC3L,CAAC,CAAC,qBAAqB,EAAEsK,MAAM,CAAC,GAAGoW,OAAI,CAAC/U,KAAK,CAAC3L,CAAC,CAAC,qBAAqB,EAAEsK,MAAM;gBAAE,CAAC,CAAC;cAAA,EAAC;YAClK,CAAC,MAAM;cACHsI,OAAO,CAAC,IAAI,CAAC;YACjB;UACJ,CAAC,CAAC,CACG7F,IAAI,CAAC,UAAAvL,MAAM;YAAA,OACRA,MAAM,IAAIkf,OAAI,CAAC1T,QAAQ,CAAC;cAAEsB,QAAQ,EAAEoS,OAAI,CAACjU,KAAK,CAACzB,IAAI;cAAEuD,UAAU,EAAEjE,MAAM;cAAE6G,SAAS,EAAE;YAAM,CAAC,CAAC;UAAA,EAAC;QACzG,CAAC,MAAM,IAAI,CAACuP,OAAI,CAAC3K,UAAU,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGyK,OAAI,CAAC3K,UAAU,GAAG,GAAG,EAAE;UAC/D2K,OAAI,CAAC1T,QAAQ,CAAC;YAAEmE,SAAS,EAAE;UAAM,CAAC,CAAC;QACvC;MACJ,CAAC,EAAE,GAAG,CAAC;IACX;EAAC;IAAAhF,GAAA;IAAAgE,KAAA,EAED,SAAAwQ,iBAAA,EAAmB;MAAA,IAAAC,OAAA;MACf,IAAMlW,KAAK,GAAG,IAAI,CAAC+B,KAAK,CAAC8B,UAAU,CAACJ,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC1B,KAAK,CAAC8B,UAAU,CAAC5D,KAAK,CAAC,GAAG,CAAC,GAAG,IAAAjH,MAAA,CAAK,IAAI,CAAC+I,KAAK,CAAC8B,UAAU,EAAI5D,KAAK,CAAC,GAAG,CAAC;MACjI,IAAMkW,CAAC,GAAG,EAAE;MACZ,oBAAOniB,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA6hB,WAAW,QACdpW,KAAK,CAACoJ,GAAG,CAAC,UAACiN,IAAI,EAAEhgB,CAAC,EAAK;QACpBggB,IAAI,IAAIF,CAAC,CAACpS,IAAI,CAACsS,IAAI,CAAC;QACpB,IAAM/V,IAAI,GAAG6V,CAAC,CAAC/V,IAAI,CAAC,GAAG,CAAC;QACxB,IAAI/J,CAAC,GAAG2J,KAAK,CAACE,MAAM,GAAG,CAAC,EAAE;UACtB,oBAAOlM,MAAA,YAAA2Y,aAAA;YACHlL,GAAG,KAAAzI,MAAA,CAAKkd,OAAI,CAACnU,KAAK,CAAC6B,QAAQ,OAAA5K,MAAA,CAAI3C,CAAC,CAAG;YACnC6W,SAAS,EAAEgJ,OAAI,CAACjV,KAAK,CAAC8B,OAAO,CAAC5D,oBAAqB;YACnD0N,OAAO,EAAE,SAAAA,QAAA1X,CAAC;cAAA,OAAI+gB,OAAI,CAAC/K,YAAY,CAAChW,CAAC,EAAEmL,IAAI,IAAI,GAAG,CAAC;YAAA;UAAC,GAE/C+V,IAAI,IAAIH,OAAI,CAACjV,KAAK,CAAC3L,CAAC,CAAC,SAAS,CAC9B,CAAC;QACV;QAEA,oBAAOtB,MAAA,YAAA2Y,aAAA;UACHlL,GAAG,KAAAzI,MAAA,CAAKkd,OAAI,CAACnU,KAAK,CAAC6B,QAAQ,OAAA5K,MAAA,CAAI3C,CAAC,CAAG;UACnCwW,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAMqJ,OAAI,CAAC5T,QAAQ,CAAC;cAAEmE,SAAS,EAAE;YAAK,CAAC,CAAC;UAAA;QAAC,GAEjD4P,IACA,CAAC;MACV,CAAC,CACQ,CAAC;IAClB;EAAC;IAAA5U,GAAA;IAAAgE,KAAA,EAED,SAAA6Q,WAAA,EAAa;MAAA,IAAAC,OAAA;MACT,oBAAOviB,MAAA,YAAA2Y,aAAA;QAAKlL,GAAG,EAAC,MAAM;QAACyL,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,CAAChE;MAAQ,GACxD,IAAI,CAACgD,KAAK,CAAC0E,SAAS,gBACjBzS,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAiiB,KAAK;QACF/Q,KAAK,EAAE,IAAI,CAAC1D,KAAK,CAACzB,IAAK;QACvBmW,SAAS,EAAE,SAAAA,UAAAthB,CAAC,EAAI;UACZ,IAAIA,CAAC,CAACuhB,OAAO,KAAK,EAAE,EAAE;YAClBH,OAAI,CAACR,YAAY,CAAC,CAAC;UACvB,CAAC,MAAM,IAAI5gB,CAAC,CAACuhB,OAAO,KAAK,EAAE,EAAE;YACzBH,OAAI,CAACjU,QAAQ,CAAC;cAAEmE,SAAS,EAAE;YAAM,CAAC,CAAC;UACvC;QACJ,CAAE;QACFkQ,YAAY,eAAE3iB,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAAmZ,UAAU;UAAClM,IAAI,EAAC,OAAO;UAACqL,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAM0J,OAAI,CAACR,YAAY,CAAC,CAAC;UAAA;QAAC,gBAAC/hB,MAAA,YAAA2Y,aAAA,CAACnY,cAAA,CAAAoiB,cAAS,MAAE,CAAa,CAAE;QACtGC,MAAM,EAAE,SAAAA,OAAA;UAAA,OAAMN,OAAI,CAACR,YAAY,CAAC,CAAC;QAAA,CAAC;QAClCe,QAAQ,EAAE,SAAAA,SAAA3hB,CAAC;UAAA,OAAIohB,OAAI,CAACjU,QAAQ,CAAC;YAAEhC,IAAI,EAAEnL,CAAC,CAAC8Z,MAAM,CAACxJ;UAAM,CAAC,CAAC;QAAA,CAAC;QACvDyH,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,CAAC7D;MAAa,CAC9C,CAAC,GAEF,IAAI,CAAC+W,gBAAgB,CAAC,CACzB,CAAC;IACV;EAAC;IAAAxU,GAAA;IAAAgE,KAAA,EAED,SAAAsR,OAAA,EAAS;MAAA,IAAAC,OAAA;MACL,IAAI,CAAC,IAAI,CAAC/V,KAAK,CAACgW,KAAK,EAAE;QACnB,oBAAOjjB,MAAA,YAAA2Y,aAAA,CAACpY,SAAA,CAAA2iB,cAAc,MAAE,CAAC;MAC7B;MAEA,IAAI,IAAI,CAACnV,KAAK,CAAC6C,cAAc,IAAI,CAAC,IAAI,CAACuS,cAAc,EAAE;QACnD,IAAI,CAACA,cAAc,GAAG,IAAI;QAC1BhV,UAAU,CAAC,YAAM;UACb6U,OAAI,CAAC1U,QAAQ,CAAC;YAAEsC,cAAc,EAAE,KAAK;YAAE5C,OAAO,EAAE,CAAC;UAAE,CAAC,EAAE,YAAM;YACxDgV,OAAI,CAACG,cAAc,GAAG,KAAK;YAC3BH,OAAI,CAACpQ,WAAW,CAAC,CAAC;UACtB,CAAC,CAAC;QACN,CAAC,EAAE,GAAG,CAAC;MACX;MAEA,oBAAO5S,MAAA,YAAA2Y,aAAA;QAAKC,KAAK,EAAE,IAAI,CAAC3L,KAAK,CAAC2L,KAAM;QAACM,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CAAC,IAAI,CAAClM,KAAK,CAAC8B,OAAO,CAAC3J,IAAI,EAAE,IAAI,CAAC6H,KAAK,CAACiM,SAAS;MAAE,GACrG,IAAI,CAACjM,KAAK,CAACmW,WAAW,GAAG,IAAI,CAACrH,aAAa,CAAC,CAAC,GAAG,IAAI,EACpD,IAAI,CAAChO,KAAK,CAAC2B,QAAQ,KAAK9C,IAAI,GAAG,IAAI,CAAC0V,UAAU,CAAC,CAAC,GAAG,IAAI,eACxDtiB,MAAA,YAAA2Y,aAAA;QACIO,SAAS,EAAE5R,iBAAK,CAAC6R,IAAI,CAAC,IAAI,CAAClM,KAAK,CAAC8B,OAAO,CAACvJ,QAAQ,EAAE,IAAI,CAACyH,KAAK,CAAC8B,OAAO,YAAA/J,MAAA,CAAY,IAAI,CAAC+I,KAAK,CAAC2B,QAAQ,EAAG,CAAE;QACzGmJ,OAAO,EAAE,SAAAA,QAAA1X,CAAC,EAAI;UACV,IAAI6hB,OAAI,CAACjV,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,EAAE;YAC/B,IAAIqW,OAAI,CAACjV,KAAK,CAAC6B,QAAQ,MAAMoT,OAAI,CAACjV,KAAK,CAAC8B,UAAU,IAAI,GAAG,CAAC,EAAE;cACxDmT,OAAI,CAAC7L,YAAY,CAAChW,CAAC,EAAE6hB,OAAI,CAACjV,KAAK,CAAC8B,UAAU,IAAI,GAAG,CAAC;YACtD,CAAC,MAAM;cACH1O,CAAC,CAAC4V,eAAe,CAAC,CAAC;YACvB;UACJ;QACJ;MAAE,GAED,IAAI,CAAChJ,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,GAAG,IAAI,CAACgP,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAACA,WAAW,CAAC,IAAI,CAAC5N,KAAK,CAAC8B,UAAU,IAAI,GAAG,CAAC,EACtG,IAAI,CAAC9B,KAAK,CAAC2B,QAAQ,KAAK/C,KAAK,gBAAG3M,MAAA,YAAA2Y,aAAA;QAAKO,SAAS,EAAE,IAAI,CAACjM,KAAK,CAAC8B,OAAO,CAAClJ;MAAa,GAAE,IAAI,CAACoH,KAAK,CAAC3L,CAAC,CAAC,uBAAuB,CAAO,CAAC,GAAG,IACjI,CAAC,EACL,IAAI,CAAC2L,KAAK,CAACkQ,WAAW,GAAG,IAAI,CAACiB,iBAAiB,CAAC,CAAC,GAAG,IAAI,EACxD,IAAI,CAACnR,KAAK,CAACkQ,WAAW,GAAG,IAAI,CAACoC,YAAY,CAAC,CAAC,GAAG,IAAI,EACnD,IAAI,CAACtS,KAAK,CAACwM,WAAW,GAAG,IAAI,CAACwH,kBAAkB,CAAC,CAAC,GAAG,IAAI,EACzD,IAAI,CAAChU,KAAK,CAACoW,SAAS,GAAG,IAAI,CAAC3B,gBAAgB,CAAC,CAAC,GAAG,IAAI,EACrD,IAAI,CAAC3T,KAAK,CAAC2C,iBAAiB,IAAI,IAAI,CAACzD,KAAK,CAACqW,wBAAwB,IAAI,IAAI,CAACrW,KAAK,CAACqW,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAACvV,KAAK,CAACwV,wBAAwB,CAAC,EACrJ,IAAI,CAAC1B,WAAW,CAAC,CACjB,CAAC;IACV;EAAC;IAAApU,GAAA;IAAAgE,KAAA,EAv4CD,SAAA+R,yBAAgCvW,KAAK,EAAEc,KAAK,EAAE;MAC1C,IAAId,KAAK,CAACkD,UAAU,KAAKiJ,SAAS,IAAInM,KAAK,CAACkD,UAAU,KAAKpC,KAAK,CAACoC,UAAU,EAAE;QACzE,OAAO;UAAEA,UAAU,EAAElD,KAAK,CAACkD,UAAU;UAAES,cAAc,EAAE;QAAK,CAAC;MACjE;MAEA,OAAO,IAAI;IACf;EAAC;IAAAnD,GAAA;IAAAgE,KAAA,EA2iBD,SAAA4J,YAAmB9O,GAAG,EAAE;MACpB,QAAQA,GAAG;QACP,KAAK,MAAM;QACX,KAAK,OAAO;QACZ,KAAK,IAAI;QACT,KAAK,MAAM;QACX,KAAK,KAAK;QACV,KAAK,KAAK;QACV,KAAK,KAAK;UACN,OAAO,IAAI;QACf;UACI,OAAO,KAAK;MACpB;IACJ;EAAC;EAAA,OAAAM,WAAA;AAAA,EApqBqB4W,gBAAS;AAg/CnC5W,WAAW,CAAC6W,YAAY,GAAG;EACvBJ,wBAAwB,EAAE,SAAAA,yBAAA,EAAM,CAAE;AACtC,CAAC;AAEDzW,WAAW,CAAC8W,SAAS,GAAG;EACpB/K,KAAK,EAAEgL,qBAAS,CAACC,MAAM;EACvB3K,SAAS,EAAE0K,qBAAS,CAACE,MAAM;EAC3BxiB,CAAC,EAAEsiB,qBAAS,CAACG,IAAI,CAACC,UAAU;EAC5BhL,IAAI,EAAE4K,qBAAS,CAACE,MAAM,CAACE,UAAU;EACjC7Q,MAAM,EAAEyQ,qBAAS,CAACC,MAAM,CAACG,UAAU;EACnCf,KAAK,EAAEW,qBAAS,CAACK,IAAI;EACrB9T,UAAU,EAAEyT,qBAAS,CAACK,IAAI;EAC1B/H,gBAAgB,EAAE0H,qBAAS,CAACK,IAAI;EAChCb,WAAW,EAAEQ,qBAAS,CAACK,IAAI;EAC3B9G,WAAW,EAAEyG,qBAAS,CAACK,IAAI;EAC3BzK,aAAa,EAAEoK,qBAAS,CAACK,IAAI;EAC7BjH,iBAAiB,EAAE4G,qBAAS,CAACK,IAAI;EACjCxK,WAAW,EAAEmK,qBAAS,CAACK,IAAI;EAC3BZ,SAAS,EAAEO,qBAAS,CAACK,IAAI;EACzBjT,WAAW,EAAE4S,qBAAS,CAACE,MAAM;EAC7BnH,gBAAgB,EAAEiH,qBAAS,CAACK,IAAI;EAChCvU,QAAQ,EAAEkU,qBAAS,CAACE,MAAM;EAC1BnU,kBAAkB,EAAEiU,qBAAS,CAACK,IAAI;EAClCnU,gBAAgB,EAAE8T,qBAAS,CAACE,MAAM;EAAE;EACpCvH,kBAAkB,EAAEqH,qBAAS,CAACK,IAAI;EAAE;;EAEpCrU,QAAQ,EAAEgU,qBAAS,CAACE,MAAM;EAC1BI,QAAQ,EAAEN,qBAAS,CAACK,IAAI;EACxBhM,WAAW,EAAE2L,qBAAS,CAACrV,KAAK;EAAE;EAC9BuC,YAAY,EAAE8S,qBAAS,CAACE,MAAM;EAAE;EAChCjM,QAAQ,EAAE+L,qBAAS,CAACG,IAAI;EAAE;;EAE1BT,wBAAwB,EAAEM,qBAAS,CAACG;AACxC,CAAC;;AAED;AACA,IAAMI,OAAO,GAAG,IAAAC,qBAAS,EAAC,CAAC,CAAC,IAAAC,kBAAU,EAACzf,MAAM,CAAC,CAACiI,WAAW,CAAC,CAAC;AAAC,IAAAyX,QAAA,GAAAC,OAAA,cAC9CJ,OAAO"}
1
+ {"version":3,"file":"FileBrowser.js","names":["_react","_interopRequireWildcard","require","_styles","_propTypes","_interopRequireDefault","_reactDropzone","_material","_iconsMaterial","_Error","_Utils","_TextInput","_IconExpert","_IconClosed","_IconOpen","_IconNoIcon","_withWidth","_FileViewer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof3","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","ROW_HEIGHT","BUTTON_WIDTH","TILE_HEIGHT","TILE_WIDTH","NOT_FOUND","FILE_TYPE_ICONS","all","FileIcon","images","TypeIconImages","code","JSIcon","txt","TypeIconTxt","audio","TypeIconAudio","video","TypeIconVideo","styles","theme","dialog","height","concat","mixins","toolbar","minHeight","root","width","overflow","position","filesDiv","spacing","overflowX","overflowY","padding","filesDivHint","bottom","left","opacity","fontStyle","fontSize","filesDivTable","parseInt","filesDivTile","display","alignContent","alignItems","flexWrap","flex","itemTile","userSelect","cursor","textAlign","transition","margin","background","palette","secondary","light","color","Utils","invertColor","main","itemNameFolderTile","fontWeight","itemNameTile","textOverflow","wordBreak","itemFolderIconTile","paddingLeft","itemFolderIconBack","top","zIndex","mode","itemSizeTile","itemImageTile","objectFit","itemIconTile","itemSelected","primary","itemTable","lineHeight","itemNameTable","verticalAlign","flexGrow","itemNameFolderTable","itemSizeTable","itemAccessTable","paddingRight","justifyContent","itemImageTable","marginTop","maxHeight","itemIconTable","itemFolderTable","itemFolderTemp","itemFolderIconTable","marginLeft","itemDownloadButtonTable","minWidth","borderRadius","backgroundColor","paddingTop","itemDownloadEmptyTable","itemAclButtonTable","itemDeleteButtonTable","uploadDiv","right","uploadDivDragging","uploadCenterDiv","border","uploadCenterIcon","uploadCenterText","uploadCloseButton","uploadCenterTextAndIcon","menuButtonExpertActive","menuButtonRestrictActive","pathDiv","marginRight","whiteSpace","pathDivInput","pathDivBreadcrumbDir","backgroundImageLight","backgroundImageDark","backgroundImageColored","direction","specialFolder","USER_DATA","sortFolders","b","folder","name","getParentDir","dir","parts","split","length","pop","join","isFile","path","ext","getFileExtension","toLowerCase","match","TABLE","TILE","FileBrowser","_Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","id","fileName","size","key","pos","lastIndexOf","substring","console","log","state","folders","_tempTimeout","clearTimeout","setTimeout","browseFolder","then","setState","array","_ref","backgroundImage","indexOf","window","_localStorage","localStorage","setItem","classes","expanded","getItem","limitPath","limitToObjectID","limitToPath","endsWith","JSON","parse","filter","startsWith","viewType","showViewTypeButton","selected","currentDir","restrictToFolder","push","Array","isArray","filterEmpty","expertMode","addFolder","uploadFile","deleteItem","viewer","formatEditFile","errorText","modalEditOfAccess","queueLength","loadAllFolders","fileErrors","filterByType","showTypesMenu","imagePrefix","levelPadding","mounted","suppressDeleteConfirm","browseList","browseListRunning","initialReadFinished","supportSubscribes","_createClass2","value","_loadFolders","_asyncToGenerator2","_regenerator","mark","_callee","_this2","wrap","_callee$","_context","prev","next","sent","browseFolders","_toConsumableArray2","findItem","pathFocus","scrollToSelected","stop","loadFolders","el","document","getElementById","scrollIntoView","componentDidMount","_this3","socket","checkFeatureSupported","subscribeFiles","onFileChange","componentWillUnmount","unsubscribeFiles","values","forEach","timer","foldersList","_newFolders","_resolve","_this4","keys","Promise","resolve","shift","readDirSerial","adapter","relPath","_this5","reject","processBrowseList","level","_this6","processing","readDir","files","item","folderId","_checkEmpty","force","_this7","map","error","readMetaItems","objs","_folders","userData","obj","_id","findIndex","splice","title","common","meta","from","ts","icon","acl","sort","unshift","alert","file","isDir","stats","modified","modifiedAt","toggleFolder","_this8","stopPropagation","stringify","temp","err","changeFolder","_this9","lastSelect","Date","now","_folder","altKey","shiftKey","ctrlKey","metaKey","onSelect","select","cb","_this10","filterFiles","includes","EXTENSIONS","renderFolder","_this11","Icon","IconOpen","IconClosed","isUserData","isSpecialData","createElement","style","onClick","onDoubleClick","_typeof2","lang","end","className","clsx","undefined","Hidden","smDown","formatAcl","allowDownload","allowDelete","IconButton","Delete","renderBackFolder","_this12","ArrowBack","formatSize","formatBytes","_this13","access","permissions","toString","padStart","getFileIcon","Bookmark","BookmarkBorder","Code","Description","MusicNote","InsertDriveFile","renderFile","_this14","getClassBackgroundImage","onError","target","onerror","src","alt","getEditFile","Edit","tabIndex","download","href","SaveAlt","renderItems","_this15","res","CircularProgress","renderToolbar","_this16","IconType","showTypeSelector","isInFolder","findFirstFolder","Toolbar","variant","allowNonRestricted","edge","menuButton","FolderSpecial","showExpertButton","List","ViewModule","FolderOpen","Refresh","allowCreateFolder","disabled","CreateNewFolder","allowUpload","Publish","Tooltip","Menu","open","anchorEl","onClose","type","MyIcon","MenuItem","removeItem","ListItemIcon","ListItemText","setStateBackgroundImage","Brightness6","parentFolder","find","renderInputDialog","_this17","applyText","cancelText","titleText","promptText","labelText","verify","text","parent","replace","componentDidUpdate","_this18","setOpacityTimer","items","getElementsByClassName","data","writeFile64","_item","renderUpload","_this19","Fab","Close","onDragEnter","onDragLeave","onDrop","acceptedFiles","count","reader","FileReader","onabort","onload","readAsArrayBuffer","_ref2","getRootProps","getInputProps","_extends2","deleteRecursive","_this20","deleteFolder","parentId","f","deleteFile","_this21","newState","renderDeleteDialog","_this22","Dialog","DialogTitle","DialogContent","DialogContentText","DialogActions","Button","autoFocus","renderViewDialog","_this23","themeName","renderError","_this24","changeToPath","_this25","renderBreadcrumb","_this26","p","Breadcrumbs","part","pathDivBreadcrumbSelected","renderPath","_this27","Input","onKeyDown","keyCode","endAdornment","KeyboardReturn","onBlur","onChange","render","_this28","ready","LinearProgress","foldersLoading","showToolbar","allowView","modalEditOfAccessControl","modalEditOfAccessObjData","getDerivedStateFromProps","Component","defaultProps","propTypes","PropTypes","object","string","func","isRequired","bool","tileView","_export","withWidth","withStyles","_default","exports"],"sources":["FileBrowser.js"],"sourcesContent":["/**\n * Copyright 2020-2023, Denis Haev <dogafox@gmail.com>\n *\n * MIT License\n *\n * */\nimport React, { Component } from 'react';\nimport { withStyles } from '@mui/styles';\nimport PropTypes from 'prop-types';\nimport Dropzone from 'react-dropzone';\n\nimport {\n LinearProgress,\n Hidden,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Tooltip,\n CircularProgress,\n Toolbar,\n IconButton,\n Fab,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n DialogActions,\n Button,\n Input,\n Breadcrumbs,\n} from '@mui/material';\n\n// MUI Icons\nimport {\n Refresh as RefreshIcon,\n Close as CloseIcon,\n Bookmark as JsonIcon,\n BookmarkBorder as CssIcon,\n Description as HtmlIcon,\n Edit as EditIcon,\n Code as JSIcon,\n InsertDriveFile as FileIcon,\n Publish as UploadIcon,\n MusicNote as MusicIcon,\n SaveAlt as DownloadIcon,\n CreateNewFolder as AddFolderIcon,\n FolderOpen as EmptyFilterIcon,\n List as IconList,\n ViewModule as IconTile,\n ArrowBack as IconBack,\n Delete as DeleteIcon,\n Brightness6 as Brightness5Icon,\n Image as TypeIconImages,\n FontDownload as TypeIconTxt,\n AudioFile as TypeIconAudio,\n Videocam as TypeIconVideo,\n KeyboardReturn as EnterIcon,\n FolderSpecial as RestrictedIcon,\n} from '@mui/icons-material';\n\nimport ErrorDialog from '../Dialogs/Error';\nimport Utils from './Utils';\nimport TextInputDialog from '../Dialogs/TextInput';\n\n// Custom Icons\nimport ExpertIcon from '../icons/IconExpert';\nimport IconClosed from '../icons/IconClosed';\nimport IconOpen from '../icons/IconOpen';\nimport IconNoIcon from '../icons/IconNoIcon';\n\nimport withWidth from './withWidth';\n\nimport FileViewer, { EXTENSIONS } from './FileViewer';\n\nconst ROW_HEIGHT = 32;\nconst BUTTON_WIDTH = 32;\nconst TILE_HEIGHT = 120;\nconst TILE_WIDTH = 64;\n\nconst NOT_FOUND = 'Not found';\n\nconst FILE_TYPE_ICONS = {\n all: FileIcon,\n images: TypeIconImages,\n code: JSIcon,\n txt: TypeIconTxt,\n audio: TypeIconAudio,\n video: TypeIconVideo,\n};\n\nconst styles = theme => ({\n dialog: {\n height: `calc(100% - ${theme.mixins.toolbar.minHeight}px)`,\n },\n root: {\n width: '100%',\n overflow: 'hidden',\n height: '100%',\n position: 'relative',\n },\n filesDiv: {\n width: `calc(100% - ${theme.spacing(2)})`,\n overflowX: 'hidden',\n overflowY: 'auto',\n padding: theme.spacing(1),\n },\n filesDivHint: {\n position: 'absolute',\n bottom: 0,\n left: 20,\n opacity: 0.7,\n fontStyle: 'italic',\n fontSize: 12,\n },\n filesDivTable: {\n height: `calc(100% - ${48 + parseInt(theme.spacing(1), 10)}px)`,\n },\n filesDivTile: {\n height: `calc(100% - ${48 * 2 + parseInt(theme.spacing(1), 10)}px)`,\n display: 'flex',\n alignContent: 'flex-start',\n alignItems: 'stretch',\n flexWrap: 'wrap',\n flex: `0 0 ${TILE_WIDTH}px`,\n },\n\n itemTile: {\n position: 'relative',\n userSelect: 'none',\n cursor: 'pointer',\n height: TILE_HEIGHT,\n width: TILE_WIDTH,\n display: 'inline-block',\n textAlign: 'center',\n opacity: 0.1,\n transition: 'opacity 1s',\n margin: 4,\n '&:hover': {\n background: theme.palette.secondary.light,\n color: Utils.invertColor(theme.palette.secondary.main, true),\n },\n },\n itemNameFolderTile: {\n fontWeight: 'bold',\n },\n itemNameTile: {\n width: '100%',\n height: 32,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n fontSize: 12,\n textAlign: 'center',\n wordBreak: 'break-all',\n },\n itemFolderIconTile: {\n width: '100%',\n height: TILE_HEIGHT - 32 - 16 - 8, // name + size\n display: 'block',\n paddingLeft: 8,\n color: theme.palette.secondary.main || '#fbff7d',\n },\n itemFolderIconBack: {\n position: 'absolute',\n top: 22,\n left: 18,\n zIndex: 1,\n color: theme.palette.mode === 'dark' ? '#FFF' : '#000',\n },\n itemSizeTile: {\n width: '100%',\n height: 16,\n textAlign: 'center',\n fontSize: 10,\n },\n itemImageTile: {\n width: 'calc(100% - 8px)',\n height: TILE_HEIGHT - 32 - 16 - 8, // name + size\n margin: 4,\n display: 'block',\n textAlign: 'center',\n objectFit: 'contain',\n },\n itemIconTile: {\n width: '100%',\n height: TILE_HEIGHT - 32 - 16 - 8, // name + size\n display: 'block',\n objectFit: 'contain',\n },\n\n itemSelected: {\n background: theme.palette.primary.main,\n color: Utils.invertColor(theme.palette.primary.main, true),\n },\n\n itemTable: {\n userSelect: 'none',\n cursor: 'pointer',\n height: ROW_HEIGHT,\n display: 'inline-flex',\n lineHeight: `${ROW_HEIGHT}px`,\n '&:hover': {\n background: theme.palette.secondary.light,\n color: Utils.invertColor(theme.palette.secondary.main, true),\n },\n },\n itemNameTable: {\n display: 'inline-block',\n paddingLeft: 10,\n fontSize: '1rem',\n verticalAlign: 'top',\n flexGrow: 1,\n },\n itemNameFolderTable: {\n fontWeight: 'bold',\n },\n itemSizeTable: {\n display: 'inline-block',\n width: 60,\n verticalAlign: 'top',\n textAlign: 'right',\n },\n itemAccessTable: {\n // display: 'inline-block',\n verticalAlign: 'top',\n width: 60,\n textAlign: 'right',\n paddingRight: 5,\n display: 'flex',\n justifyContent: 'center',\n },\n itemImageTable: {\n display: 'inline-block',\n width: 30,\n marginTop: 1,\n objectFit: 'contain',\n maxHeight: 30,\n },\n itemIconTable: {\n display: 'inline-block',\n marginTop: 1,\n width: 30,\n height: 30,\n },\n itemFolderTable: {\n\n },\n itemFolderTemp: {\n opacity: 0.4,\n },\n itemFolderIconTable: {\n marginTop: 1,\n marginLeft: theme.spacing(1),\n display: 'inline-block',\n width: 30,\n height: 30,\n color: theme.palette.secondary.main || '#fbff7d',\n },\n itemDownloadButtonTable: {\n display: 'inline-block',\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n verticalAlign: 'middle',\n textAlign: 'center',\n padding: 0,\n borderRadius: BUTTON_WIDTH / 2,\n '&:hover': {\n backgroundColor: theme.palette.mode === 'dark' ? 'rgba(255, 255, 255, 0.08)' : 'rgba(0, 0, 0, 0.08)',\n },\n '& span': {\n paddingTop: 9,\n },\n '& svg': {\n width: 14,\n height: 14,\n fontSize: '1rem',\n marginTop: -3,\n verticalAlign: 'middle',\n color: theme.palette.mode === 'dark' ? '#EEE' : '#111',\n },\n },\n itemDownloadEmptyTable: {\n display: 'inline-block',\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n padding: 0,\n },\n itemAclButtonTable: {\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n verticalAlign: 'top',\n padding: 0,\n fontSize: 12,\n display: 'flex',\n },\n itemDeleteButtonTable: {\n display: 'inline-block',\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n verticalAlign: 'top',\n padding: 0,\n '& svg': {\n width: 18,\n height: 18,\n fontSize: '1.5rem',\n },\n },\n\n uploadDiv: {\n top: 0,\n zIndex: 1,\n bottom: 0,\n left: 0,\n right: 0,\n position: 'absolute',\n opacity: 0.9,\n textAlign: 'center',\n background: '#FFFFFF',\n },\n uploadDivDragging: {\n opacity: 1,\n },\n\n uploadCenterDiv: {\n margin: 20,\n border: '3px dashed grey',\n borderRadius: 30,\n width: 'calc(100% - 40px)',\n height: 'calc(100% - 40px)',\n position: 'relative',\n color: theme.palette.mode === 'dark' ? '#222' : '#CCC',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n uploadCenterIcon: {\n width: '25%',\n height: '25%',\n },\n uploadCenterText: {\n fontSize: 24,\n fontWeight: 'bold',\n },\n uploadCloseButton: {\n zIndex: 2,\n position: 'absolute',\n top: 30,\n right: 30,\n },\n uploadCenterTextAndIcon: {\n position: 'absolute',\n height: '30%',\n width: '100%',\n margin: 'auto',\n opacity: 0.3,\n },\n menuButtonExpertActive: {\n color: '#c00000',\n },\n menuButtonRestrictActive: {\n color: '#c05000',\n },\n pathDiv: {\n display: 'flex',\n width: `calc(100% - ${theme.spacing(2)})`,\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1),\n textOverflow: 'clip',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n backgroundColor: theme.palette.secondary.main,\n },\n pathDivInput: {\n width: '100%',\n },\n pathDivBreadcrumbDir: {\n paddingLeft: 2,\n paddingRight: 2,\n cursor: 'pointer',\n '&:hover': {\n background: theme.palette.primary.main,\n },\n },\n backgroundImageLight: {\n background: 'white',\n },\n backgroundImageDark: {\n background: 'black',\n },\n backgroundImageColored: {\n background: 'silver',\n },\n '@media screen and (max-width: 500px)': {\n itemNameTable: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n textAlign: 'end',\n direction: 'rtl',\n },\n },\n specialFolder: {\n color: theme.palette.mode === 'dark' ? '#229b0f' : '#5dd300',\n },\n});\n\nconst USER_DATA = '0_userdata.0';\n\nfunction sortFolders(a, b) {\n if (a.folder && b.folder) {\n return a.name > b.name ? 1 : (a.name < b.name ? -1 : 0);\n }\n if (a.folder) {\n return -1;\n }\n if (b.folder) {\n return 1;\n }\n return a.name > b.name ? 1 : (a.name < b.name ? -1 : 0);\n}\n\nfunction getParentDir(dir) {\n const parts = (dir || '').split('/');\n parts.length && parts.pop();\n return parts.join('/');\n}\n\nfunction isFile(path) {\n const ext = Utils.getFileExtension(path);\n return !!(ext && ext.toLowerCase().match(/[a-z]+/) && ext.length < 5);\n}\n\nconst TABLE = 'Table';\nconst TILE = 'Tile';\n\n/**\n * @extends {React.Component<import('./types').FileBrowserProps>}\n */\nclass FileBrowser extends Component {\n /**\n * @param {Readonly<import(\"./types\").FileBrowserProps>} props\n */\n constructor(props) {\n super(props);\n let expanded = (window._localStorage || window.localStorage).getItem('files.expanded') || '[]';\n\n if (this.props.limitPath) {\n const parts = this.props.limitPath.split('/');\n this.limitToObjectID = parts[0];\n this.limitToPath = !parts.length ? null : (parts.length === 1 && parts[0] === '' ? null : parts.join('/'));\n if (this.limitToPath && this.limitToPath.endsWith('/')) {\n this.limitToPath.substring(0, this.limitToPath.length - 1);\n }\n }\n\n try {\n expanded = JSON.parse(expanded);\n if (this.limitToPath) {\n expanded = expanded.filter(id => id.startsWith(`${this.limitToPath}/`) || id === this.limitToPath || this.limitToPath.startsWith(`${id}/`));\n }\n } catch (e) {\n expanded = [];\n }\n\n let viewType;\n if (this.props.showViewTypeButton) {\n viewType = (window._localStorage || window.localStorage).getItem('files.viewType') || TABLE;\n } else {\n viewType = TABLE;\n }\n\n let selected = this.props.selected || (window._localStorage || window.localStorage).getItem('files.selected') || USER_DATA;\n\n let currentDir = '';\n\n const backgroundImage = (window._localStorage || window.localStorage).getItem('files.backgroundImage') || null;\n\n if (props.restrictToFolder) {\n selected = props.restrictToFolder;\n currentDir = props.restrictToFolder;\n const parts = props.restrictToFolder.split('/');\n expanded = [];\n let path = '';\n for (let i = 0; i < parts.length; i++) {\n path += (path ? '/' : '') + parts[i];\n expanded.push(path);\n }\n } else {\n // TODO: Now we do not support multiple selection\n if (Array.isArray(selected)) {\n selected = selected[0];\n }\n\n if (isFile(selected)) {\n currentDir = getParentDir(selected);\n } else {\n currentDir = selected;\n }\n }\n\n this.state = {\n viewType,\n folders: {},\n filterEmpty: (window._localStorage || window.localStorage).getItem('files.empty') !== 'false',\n expanded,\n currentDir,\n expertMode: this.props.expertMode,\n addFolder: false,\n uploadFile: false,\n deleteItem: '',\n // marked: [],\n viewer: '',\n formatEditFile: '',\n path: selected,\n selected,\n errorText: '',\n modalEditOfAccess: false,\n backgroundImage,\n queueLength: 0,\n loadAllFolders: false,\n // allFoldersLoaded: false,\n fileErrors: [],\n filterByType: props.filterByType || window.localStorage.getItem('files.filterByType') || '',\n showTypesMenu: null,\n restrictToFolder: props.restrictToFolder || '',\n };\n\n this.imagePrefix = this.props.imagePrefix || './files/';\n\n this.levelPadding = this.props.levelPadding || 20;\n this.mounted = true;\n this.suppressDeleteConfirm = 0;\n\n this.browseList = [];\n this.browseListRunning = false;\n this.initialReadFinished = false;\n this.supportSubscribes = null;\n this._tempTimeout = {};\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.expertMode !== undefined && props.expertMode !== state.expertMode) {\n return { expertMode: props.expertMode, loadAllFolders: true };\n }\n\n return null;\n }\n\n async loadFolders() {\n this.initialReadFinished = false;\n\n let folders = await this.browseFolder('/');\n\n if (this.state.viewType === TABLE) {\n folders = await this.browseFolders([...this.state.expanded], folders);\n } else if (\n this.state.currentDir &&\n this.state.currentDir !== '/' &&\n (!this.limitToObjectID || this.state.currentDir.startsWith(this.limitToObjectID))\n ) {\n folders = await this.browseFolder(this.state.currentDir, folders);\n }\n\n this.setState({ folders }, () => {\n if (this.state.viewType === TABLE && !this.findItem(this.state.selected)) {\n const parts = this.state.selected.split('/');\n while (parts.length && !this.findItem(parts.join('/'))) {\n parts.pop();\n }\n let selected;\n if (parts.length) {\n selected = parts.join('/');\n } else {\n selected = USER_DATA;\n }\n this.setState({ selected, path: selected, pathFocus: false }, () => this.scrollToSelected());\n } else {\n this.scrollToSelected();\n }\n this.initialReadFinished = true;\n });\n }\n\n scrollToSelected() {\n if (this.mounted) {\n const el = document.getElementById(this.state.selected);\n el && el.scrollIntoView();\n }\n }\n\n componentDidMount() {\n this.mounted = true;\n this.loadFolders();\n return this.props.socket.checkFeatureSupported('BINARY_STATE_EVENT')\n .then(result => {\n this.supportSubscribes = result;\n this.supportSubscribes && this.props.socket.subscribeFiles('*', '*', this.onFileChange);\n });\n }\n\n componentWillUnmount() {\n this.supportSubscribes && this.props.socket.unsubscribeFiles('*', '*', this.onFileChange);\n this.mounted = false;\n this.browseList = null;\n this.browseListRunning = false;\n Object.values(this._tempTimeout)\n .forEach(timer => timer && clearTimeout(timer));\n this._tempTimeout = {};\n }\n\n browseFolders(foldersList, _newFolders, _resolve) {\n if (!_newFolders) {\n _newFolders = {};\n Object.keys(this.state.folders).forEach(folder => _newFolders[folder] = this.state.folders[folder]);\n }\n\n if (!_resolve) {\n return new Promise(resolve => {\n this.browseFolders(foldersList, _newFolders, resolve);\n });\n }\n\n if (!foldersList || !foldersList.length) {\n return _resolve(_newFolders);\n }\n\n return this.browseFolder(foldersList.shift(), _newFolders)\n .then(() => setTimeout(() => this.browseFolders(foldersList, _newFolders, _resolve), 0))\n .catch(() => setTimeout(() => this.browseFolders(foldersList, _newFolders, _resolve), 0));\n }\n\n readDirSerial(adapter, relPath) {\n return new Promise((resolve, reject) => {\n if (this.browseList) { // if component still mounted\n this.browseList.push({\n resolve, reject, adapter, relPath,\n });\n !this.browseListRunning && this.processBrowseList();\n }\n });\n }\n\n processBrowseList(level) {\n if (!this.browseListRunning && this.browseList && this.browseList.length) {\n this.browseListRunning = true;\n if (this.browseList.length > 10) {\n // not too often\n if (!(this.browseList.length % 10)) {\n this.setState({ queueLength: this.browseList.length });\n }\n } else {\n this.setState({ queueLength: this.browseList.length });\n }\n\n this.browseList[0].processing = true;\n this.props.socket.readDir(this.browseList[0].adapter, this.browseList[0].relPath)\n .then(files => {\n if (this.browseList) { // if component still mounted\n const item = this.browseList.shift();\n if (item) {\n const resolve = item.resolve;\n item.resolve = null;\n item.reject = null;\n item.adapter = null;\n item.relPath = null;\n resolve(files);\n this.browseListRunning = false;\n if (this.browseList.length) {\n if (level < 5) {\n this.processBrowseList(level + 1);\n } else {\n setTimeout(() => this.processBrowseList(0), 0);\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n }\n })\n .catch(e => {\n if (this.browseList) { // if component still mounted\n const item = this.browseList.shift();\n if (item) {\n const reject = item.reject;\n item.resolve = null;\n item.reject = null;\n item.adapter = null;\n item.relPath = null;\n reject(e);\n this.browseListRunning = false;\n if (this.browseList.length) {\n if (level < 5) {\n this.processBrowseList(level + 1);\n } else {\n setTimeout(() => this.processBrowseList(0), 0);\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n }\n });\n }\n }\n\n browseFolder(folderId, _newFolders, _checkEmpty, force) {\n if (typeof _newFolders === 'boolean') {\n force = _newFolders;\n _newFolders = null;\n }\n\n if (!_newFolders) {\n _newFolders = {};\n Object.keys(this.state.folders).forEach(folder =>\n _newFolders[folder] = this.state.folders[folder]);\n }\n\n if (_newFolders[folderId] && !force) {\n if (!_checkEmpty) {\n return new Promise((resolve, reject) => {\n Promise.all(_newFolders[folderId].filter(item => item.folder).map(item =>\n this.browseFolder(item.id, _newFolders, true)\n .catch(() => { })))\n .then(() => resolve(_newFolders))\n .catch(error => reject(error));\n });\n }\n\n return Promise.resolve(_newFolders);\n }\n\n if (!folderId || folderId === '/') {\n return this.props.socket.readMetaItems()\n .then(objs => {\n const _folders = [];\n let userData = null;\n\n if (this.state.restrictToFolder) {\n const adapter = this.state.restrictToFolder.split('/')[0];\n objs = objs.filter(obj => obj._id === adapter);\n } else if (!this.state.expertMode) {\n // load only adapter.admin and not other meta files like hm-rpc.0.devices.blablabla\n objs = objs.filter(obj => !obj._id.endsWith('.admin'));\n }\n\n const pos = objs.findIndex(obj => obj._id === 'system.meta.uuid');\n if (pos !== -1) {\n objs.splice(pos, 1);\n }\n\n objs.forEach(obj => {\n if (this.limitToObjectID && this.limitToObjectID !== obj._id) {\n return;\n }\n\n const item = {\n id: obj._id,\n name: obj._id,\n title: (obj.common && obj.common.name) || obj._id,\n meta: true,\n from: obj.from,\n ts: obj.ts,\n color: obj.common && obj.common.color,\n icon: obj.common && obj.common.icon,\n folder: true,\n acl: obj.acl,\n level: 0,\n };\n if (item.id === USER_DATA) {\n // user data must be first\n userData = item;\n } else {\n _folders.push(item);\n }\n });\n _folders.sort((a, b) => (a.id > b.id ? 1 : (a.id < b.id ? -1 : 0)));\n if (!this.limitToObjectID || this.limitToObjectID === USER_DATA) {\n userData && _folders.unshift(userData);\n }\n\n _newFolders[folderId || '/'] = _folders;\n\n if (!_checkEmpty) {\n return Promise.all(_folders.filter(item => item.folder).map(item =>\n this.browseFolder(item.id, _newFolders, true)\n .catch(() => { })))\n .then(() => _newFolders);\n }\n\n return _newFolders;\n })\n .catch(e => this.initialReadFinished && window.alert(`Cannot read meta items: ${e}`));\n }\n\n const parts = folderId.split('/');\n const level = parts.length;\n const adapter = parts.shift();\n const relPath = parts.join('/');\n\n // make all requests here serial\n return this.readDirSerial(adapter, relPath)\n .then(files => {\n const _folders = [];\n\n files.forEach(file => {\n const item = {\n id: `${folderId}/${file.file}`,\n ext: Utils.getFileExtension(file.file),\n folder: file.isDir,\n name: file.file,\n size: file.stats && file.stats.size,\n modified: file.modifiedAt,\n acl: file.acl,\n level,\n };\n\n if (this.state.restrictToFolder) {\n if (item.folder && (item.id.startsWith(`${this.state.restrictToFolder}/`) || item.id === this.state.restrictToFolder || this.state.restrictToFolder.startsWith(`${item.id}/`))) {\n _folders.push(item);\n } else if (item.id.startsWith(`${this.state.restrictToFolder}/`)) {\n _folders.push(item);\n }\n } else if (this.limitToPath) {\n if (item.folder && (item.id.startsWith(`${this.limitToPath}/`) || item.id === this.limitToPath || this.limitToPath.startsWith(`${item.id}/`))) {\n _folders.push(item);\n } else if (item.id.startsWith(`${this.limitToPath}/`)) {\n _folders.push(item);\n }\n } else {\n _folders.push(item);\n }\n });\n\n _folders.sort(sortFolders);\n _newFolders[folderId] = _folders;\n\n if (!_checkEmpty) {\n return Promise.all(_folders\n .filter(item => item.folder)\n .map(item => this.browseFolder(item.id, _newFolders, true)))\n .then(() => _newFolders);\n }\n\n return _newFolders;\n })\n .catch(e => {\n this.initialReadFinished && window.alert(`Cannot read ${adapter}${relPath ? `/${relPath}` : ''}: ${e}`);\n _newFolders[folderId] = [];\n return _newFolders;\n });\n }\n\n toggleFolder(item, e) {\n e && e.stopPropagation();\n const expanded = [...this.state.expanded];\n const pos = expanded.indexOf(item.id);\n if (pos === -1) {\n expanded.push(item.id);\n expanded.sort();\n\n (window._localStorage || window.localStorage).setItem('files.expanded', JSON.stringify(expanded));\n\n if (!item.temp) {\n this.browseFolder(item.id)\n .then(folders => this.setState({ expanded, folders }))\n .catch(err => window.alert(err === NOT_FOUND ? this.props.t('ra_Cannot find \"%s\"', item.id) : this.props.t('ra_Cannot read \"%s\"', item.id)));\n } else {\n this.setState({ expanded });\n }\n } else {\n expanded.splice(pos, 1);\n (window._localStorage || window.localStorage).setItem('files.expanded', JSON.stringify(expanded));\n this.setState({ expanded });\n }\n }\n\n onFileChange = (id, fileName, size) => {\n const key = `${id}/${fileName}`;\n const pos = key.lastIndexOf('/');\n const folder = key.substring(0, pos);\n console.log(`File changed ${key}[${size}]`);\n\n if (this.state.folders[folder]) {\n this._tempTimeout[folder] && clearTimeout(this._tempTimeout[folder]);\n\n this._tempTimeout[folder] = setTimeout(() => {\n delete this._tempTimeout[folder];\n\n this.browseFolder(folder, true)\n .then(folders => this.setState({ folders }));\n }, 300);\n }\n };\n\n changeFolder(e, folder) {\n e && e.stopPropagation();\n\n this.lastSelect = Date.now();\n\n let _folder = folder || getParentDir(this.state.currentDir);\n\n if (_folder === '/') {\n _folder = '';\n }\n\n (window._localStorage || window.localStorage).setItem('files.currentDir', _folder);\n\n if (folder && e && (e.altKey || e.shiftKey || e.ctrlKey || e.metaKey)) {\n return this.setState({ selected: _folder });\n }\n\n if (_folder && !this.state.folders[_folder]) {\n return this.browseFolder(_folder)\n .then(folders =>\n this.setState({\n folders,\n path: _folder,\n currentDir: _folder,\n selected: _folder,\n pathFocus: false,\n }, () =>\n this.props.onSelect && this.props.onSelect('')));\n }\n\n return this.setState({\n currentDir: _folder,\n selected: _folder,\n path: _folder,\n pathFocus: false,\n }, () =>\n this.props.onSelect && this.props.onSelect(''));\n }\n\n select(id, e, cb) {\n if (typeof e === 'function') {\n cb = e;\n e = null;\n }\n e && e.stopPropagation();\n this.lastSelect = Date.now();\n\n (window._localStorage || window.localStorage).setItem('files.selected', id);\n\n this.setState({ selected: id, path: id, pathFocus: false }, () => {\n if (this.props.onSelect) {\n const ext = Utils.getFileExtension(id);\n if ((!this.props.filterFiles || this.props.filterFiles.includes(ext)) &&\n (!this.state.filterByType || EXTENSIONS[this.state.filterByType].includes(ext))\n ) {\n this.props.onSelect(id, false, !!this.state.folders[id]);\n } else {\n this.props.onSelect('');\n }\n }\n cb && cb();\n });\n }\n\n renderFolder(item, expanded) {\n if (this.state.filterEmpty && (!this.state.folders[item.id] || !this.state.folders[item.id].length) && item.id !== USER_DATA && !item.temp) {\n return null;\n }\n const Icon = expanded ? IconOpen : IconClosed;\n const padding = this.state.viewType === TABLE ? item.level * this.levelPadding : 0;\n const isUserData = item.name === USER_DATA;\n const isSpecialData = isUserData || item.name === 'vis.0' || item.name === 'vis-2-beta.0';\n\n return <div\n key={item.id}\n id={item.id}\n style={this.state.viewType === TABLE ? { marginLeft: padding, width: `calc(100% - ${padding}px` } : {}}\n onClick={e => (this.state.viewType === TABLE ? this.select(item.id, e) : this.changeFolder(e, item.id))}\n onDoubleClick={e => this.state.viewType === TABLE && this.toggleFolder(item, e)}\n title={item.title && typeof item.title === 'object' ? (item.title[this.props.lang] || item.title.end || '') : (item.title || null)}\n className={Utils.clsx(\n 'browserItem',\n this.props.classes[`item${this.state.viewType}`],\n this.props.classes[`itemFolder${this.state.viewType}`],\n this.state.selected === item.id && this.props.classes.itemSelected,\n item.temp && this.props.classes.itemFolderTemp,\n )}\n >\n <Icon\n className={Utils.clsx(this.props.classes[`itemFolderIcon${this.state.viewType}`], isSpecialData && this.props.classes.specialFolder)}\n onClick={this.state.viewType === TABLE ? e => this.toggleFolder(item, e) : undefined}\n />\n\n <div className={Utils.clsx(this.props.classes[`itemName${this.state.viewType}`], this.props.classes[`itemNameFolder${this.state.viewType}`])}>{isUserData ? this.props.t('ra_User files') : item.name}</div>\n\n <Hidden smDown>\n <div className={this.props.classes[`itemSize${this.state.viewType}`]}>{this.state.viewType === TABLE && this.state.folders[item.id] ? this.state.folders[item.id].length : ''}</div>\n </Hidden>\n\n <Hidden smDown>\n {this.state.viewType === TABLE ? this.formatAcl(item.acl) : null}\n </Hidden>\n\n <Hidden smDown>\n {this.state.viewType === TABLE && this.props.expertMode ? <div className={this.props.classes[`itemDeleteButton${this.state.viewType}`]} /> : null}\n </Hidden>\n {this.state.viewType === TABLE && this.props.allowDownload ? <div className={this.props.classes[`itemDownloadEmpty${this.state.viewType}`]} /> : null}\n\n {this.state.viewType === TABLE && this.props.allowDelete && this.state.folders[item.id] && this.state.folders[item.id].length ?\n <IconButton\n aria-label=\"delete\"\n onClick={e => {\n e.stopPropagation();\n if (this.suppressDeleteConfirm > Date.now()) {\n this.deleteItem(item.id);\n } else {\n this.setState({ deleteItem: item.id });\n }\n }}\n className={this.props.classes[`itemDeleteButton${this.state.viewType}`]}\n size=\"large\"\n >\n <DeleteIcon fontSize=\"small\" />\n </IconButton>\n :\n (this.state.viewType === TABLE && this.props.allowDelete ? <div className={this.props.classes[`itemDeleteButton${this.state.viewType}`]} /> : null)}\n </div>;\n }\n\n renderBackFolder() {\n return <div\n key={this.state.currentDir}\n id={this.state.currentDir}\n onClick={e => this.changeFolder(e)}\n title={this.props.t('ra_Back to %s', getParentDir(this.state.currentDir))}\n className={Utils.clsx(\n 'browserItem',\n this.props.classes[`item${this.state.viewType}`],\n this.props.classes[`itemFolder${this.state.viewType}`],\n )}\n >\n <IconClosed className={this.props.classes[`itemFolderIcon${this.state.viewType}`]} />\n <IconBack className={this.props.classes.itemFolderIconBack} />\n\n <div\n className={Utils.clsx(this.props.classes[`itemName${this.state.viewType}`], this.props.classes[`itemNameFolder${this.state.viewType}`])}\n >\n..\n </div>\n </div>;\n }\n\n formatSize(size) {\n return <div className={this.props.classes[`itemSize${this.state.viewType}`]}>{size || size === 0 ? Utils.formatBytes(size) : ''}</div>;\n }\n\n formatAcl(acl) {\n let access = acl && (acl.permissions || acl.file);\n if (access) {\n access = access.toString(16).padStart(3, '0');\n }\n\n return <div className={this.props.classes[`itemAccess${this.state.viewType}`]}>\n <IconButton\n size=\"large\"\n onClick={() => this.setState({ modalEditOfAccess: true })}\n className={this.props.classes[`itemAclButton${this.state.viewType}`]}\n >\n {access || '---'}\n </IconButton>\n </div>;\n }\n\n getFileIcon(ext) {\n switch (ext) {\n case 'json':\n case 'json5':\n return <JsonIcon className={this.props.classes[`itemIcon${this.state.viewType}`]} />;\n\n case 'css':\n return <CssIcon className={this.props.classes[`itemIcon${this.state.viewType}`]} />;\n\n case 'js':\n case 'ts':\n return <JSIcon className={this.props.classes[`itemIcon${this.state.viewType}`]} />;\n\n case 'html':\n case 'md':\n return <HtmlIcon className={this.props.classes[`itemIcon${this.state.viewType}`]} />;\n\n case 'mp3':\n case 'ogg':\n case 'wav':\n case 'm4a':\n case 'mp4':\n case 'flac':\n return <MusicIcon className={this.props.classes[`itemIcon${this.state.viewType}`]} />;\n\n default:\n return <FileIcon className={this.props.classes[`itemIcon${this.state.viewType}`]} />;\n }\n }\n\n static getEditFile(ext) {\n switch (ext) {\n case 'json':\n case 'json5':\n case 'js':\n case 'html':\n case 'txt':\n case 'css':\n case 'log':\n return true;\n default:\n return false;\n }\n }\n\n setStateBackgroundImage = () => {\n const array = ['light', 'dark', 'colored', 'delete'];\n this.setState(({ backgroundImage }) => {\n if (array.indexOf(backgroundImage) !== -1 && array.length - 1 !== array.indexOf(backgroundImage)) {\n (window._localStorage || window.localStorage).setItem('files.backgroundImage', array[array.indexOf(backgroundImage) + 1]);\n return { backgroundImage: array[array.indexOf(backgroundImage) + 1] };\n }\n (window._localStorage || window.localStorage).setItem('files.backgroundImage', array[0]);\n return { backgroundImage: array[0] };\n });\n };\n\n getClassBackgroundImage = () => {\n // ['light', 'dark', 'colored', 'delete']\n switch (this.state.backgroundImage) {\n case 'light':\n return this.props.classes.backgroundImageLight;\n case 'dark':\n return this.props.classes.backgroundImageDark;\n case 'colored':\n return this.props.classes.backgroundImageColored;\n case 'delete':\n return null;\n default:\n return null;\n }\n };\n\n renderFile(item) {\n const padding = this.state.viewType === TABLE ? item.level * this.levelPadding : 0;\n const ext = Utils.getFileExtension(item.name);\n\n return <div\n key={item.id}\n id={item.id}\n onDoubleClick={e => {\n e.stopPropagation();\n if (!this.props.onSelect) {\n this.setState({ viewer: this.imagePrefix + item.id, formatEditFile: ext });\n } else if (\n (!this.props.filterFiles || this.props.filterFiles.includes(item.ext)) &&\n (!this.state.filterByType || EXTENSIONS[this.state.filterByType].includes(item.ext))\n ) {\n this.props.onSelect(item.id, true, !!this.state.folders[item.id]);\n }\n }}\n onClick={e => this.select(item.id, e)}\n style={this.state.viewType === TABLE ? { marginLeft: padding, width: `calc(100% - ${padding}px)` } : {}}\n className={Utils.clsx(\n 'browserItem',\n this.props.classes[`item${this.state.viewType}`],\n this.props.classes[`itemFile${this.state.viewType}`],\n this.state.selected === item.id && this.props.classes.itemSelected,\n )}\n >\n {EXTENSIONS.images.includes(ext) ?\n this.state.fileErrors.includes(item.id) ?\n <IconNoIcon className={Utils.clsx(this.props.classes[`itemImage${this.state.viewType}`], this.getClassBackgroundImage())} /> :\n <img\n onError={e => {\n e.target.onerror = null;\n const fileErrors = [...this.state.fileErrors];\n if (!fileErrors.includes(item.id)) {\n fileErrors.push(item.id);\n this.setState({ fileErrors });\n }\n }}\n className={Utils.clsx(this.props.classes[`itemImage${this.state.viewType}`], this.getClassBackgroundImage())}\n src={this.imagePrefix + item.id}\n alt={item.name}\n />\n :\n this.getFileIcon(ext)}\n <div className={this.props.classes[`itemName${this.state.viewType}`]}>{item.name}</div>\n <Hidden smDown>{this.formatSize(item.size)}</Hidden>\n <Hidden smDown>{this.state.viewType === TABLE ? this.formatAcl(item.acl) : null}</Hidden>\n <Hidden smDown>\n {this.state.viewType === TABLE && this.props.expertMode && FileBrowser.getEditFile(ext) ?\n <IconButton\n aria-label=\"edit\"\n onClick={e => {\n e.stopPropagation();\n if (!this.props.onSelect) {\n this.setState({ viewer: this.imagePrefix + item.id, formatEditFile: ext });\n } else if (\n (!this.props.filterFiles || this.props.filterFiles.includes(item.ext)) &&\n (!this.state.filterByType || EXTENSIONS[this.state.filterByType].includes(item.ext))\n ) {\n this.props.onSelect(item.id, true, !!this.state.folders[item.id]);\n }\n }}\n className={this.props.classes[`itemDeleteButton${this.state.viewType}`]}\n size=\"large\"\n >\n <EditIcon fontSize=\"small\" />\n </IconButton>\n :\n <div className={this.props.classes[`itemDeleteButton${this.state.viewType}`]} />}\n </Hidden>\n {this.state.viewType === TABLE && this.props.allowDownload ? <a\n className={Utils.clsx('MuiButtonBase-root', 'MuiIconButton-root', 'MuiIconButton-sizeLarge', this.props.classes.itemDownloadButtonTable)}\n tabIndex=\"0\"\n download={item.id}\n href={this.imagePrefix + item.id}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <DownloadIcon />\n </a> : null}\n\n {this.state.viewType === TABLE &&\n this.props.allowDelete &&\n item.id !== 'vis.0/' &&\n item.id !== 'vis-2-beta.0/' &&\n item.id !== USER_DATA\n ?\n <IconButton\n aria-label=\"delete\"\n onClick={e => {\n e.stopPropagation();\n if (this.suppressDeleteConfirm > Date.now()) {\n this.deleteItem(item.id);\n } else {\n this.setState({ deleteItem: item.id });\n }\n }}\n className={this.props.classes[`itemDeleteButton${this.state.viewType}`]}\n size=\"large\"\n >\n <DeleteIcon fontSize=\"small\" />\n </IconButton>\n :\n (this.state.viewType === TABLE && this.props.allowDelete ?\n <div className={this.props.classes[`itemDeleteButton${this.state.viewType}`]} />\n :\n null\n )}\n </div>;\n }\n\n renderItems(folderId) {\n if (this.state.folders && this.state.folders[folderId]) {\n // tile\n if (this.state.viewType === TILE) {\n const res = [];\n if (folderId && folderId !== '/') {\n res.push(this.renderBackFolder());\n }\n this.state.folders[folderId].forEach(item => {\n if (item.folder) {\n res.push(this.renderFolder(item));\n } else if (\n (!this.props.filterFiles || this.props.filterFiles.includes(item.ext)) &&\n (!this.state.filterByType || EXTENSIONS[this.state.filterByType].includes(item.ext))\n ) {\n res.push(this.renderFile(item));\n }\n });\n return res;\n }\n return this.state.folders[folderId].map(item => {\n const res = [];\n if (item.folder) {\n const expanded = this.state.expanded.includes(item.id);\n\n res.push(this.renderFolder(item, expanded));\n if (this.state.folders[item.id] && expanded) {\n res.push(this.renderItems(item.id));\n }\n } else if (\n (!this.props.filterFiles || this.props.filterFiles.includes(item.ext)) &&\n (!this.state.filterByType || EXTENSIONS[this.state.filterByType].includes(item.ext))\n ) {\n res.push(this.renderFile(item));\n } else {\n return null;\n }\n\n return res;\n });\n }\n\n return <div style={{ position: 'relative' }}>\n <CircularProgress key={folderId} color=\"secondary\" size={24} />\n <div style={{\n position: 'absolute', zIndex: 2, top: 4, width: 24, textAlign: 'center',\n }}\n >\n {this.state.queueLength}\n </div>\n </div>;\n }\n\n renderToolbar() {\n const IconType = this.props.showTypeSelector ? (FILE_TYPE_ICONS[this.state.filterByType || 'all'] || FILE_TYPE_ICONS.all) : null;\n\n const isInFolder = this.findFirstFolder(this.state.selected);\n\n return <Toolbar key=\"toolbar\" variant=\"dense\">\n {this.props.allowNonRestricted && this.props.restrictToFolder ? <IconButton\n edge=\"start\"\n title={this.state.restrictToFolder ? this.props.t('ra_Show all folders') : this.props.t('ra_Restrict to folder')}\n className={Utils.clsx(this.props.classes.menuButton, this.state.restrictToFolder && this.props.classes.menuButtonRestrictActive)}\n aria-label=\"restricted to folder\"\n onClick={() => this.setState({\n restrictToFolder: this.state.restrictToFolder ? '' : this.props.restrictToFolder,\n loadAllFolders: true,\n })}\n size=\"small\"\n >\n <RestrictedIcon fontSize=\"small\" />\n </IconButton> : null}\n {this.props.showExpertButton ? <IconButton\n edge=\"start\"\n title={this.props.t('ra_Toggle expert mode')}\n className={Utils.clsx(this.props.classes.menuButton, this.state.expertMode && this.props.classes.menuButtonExpertActive)}\n aria-label=\"expert mode\"\n onClick={() => this.setState({ expertMode: !this.state.expertMode })}\n size=\"small\"\n >\n <ExpertIcon fontSize=\"small\" />\n </IconButton> : null}\n {this.props.showViewTypeButton ? <IconButton\n edge=\"start\"\n title={this.props.t('ra_Toggle view mode')}\n className={this.props.classes.menuButton}\n aria-label=\"view mode\"\n onClick={() => {\n const viewType = this.state.viewType === TABLE ? TILE : TABLE;\n (window._localStorage || window.localStorage).setItem('files.viewType', viewType);\n let currentDir = this.state.selected;\n if (isFile(currentDir)) {\n currentDir = getParentDir(currentDir);\n }\n this.setState({ viewType, currentDir }, () => {\n if (this.state.viewType === TABLE) {\n this.scrollToSelected();\n }\n });\n }}\n size=\"small\"\n >\n {this.state.viewType !== TABLE ? <IconList fontSize=\"small\" /> : <IconTile fontSize=\"small\" />}\n </IconButton> : null}\n <IconButton\n edge=\"start\"\n title={this.props.t('ra_Hide empty folders')}\n className={this.props.classes.menuButton}\n color={this.state.filterEmpty ? 'secondary' : 'inherit'}\n aria-label=\"filter empty\"\n onClick={() => {\n (window._localStorage || window.localStorage).setItem('file.empty', !this.state.filterEmpty);\n this.setState({ filterEmpty: !this.state.filterEmpty });\n }}\n size=\"small\"\n >\n <EmptyFilterIcon fontSize=\"small\" />\n </IconButton>\n <IconButton\n edge=\"start\"\n title={this.props.t('ra_Reload files')}\n className={this.props.classes.menuButton}\n color=\"inherit\"\n aria-label=\"reload files\"\n onClick={() => this.setState({ folders: {} }, () => this.loadFolders())}\n size=\"small\"\n >\n <RefreshIcon fontSize=\"small\" />\n </IconButton>\n {this.props.allowCreateFolder ? <IconButton\n edge=\"start\"\n disabled={\n !this.state.selected ||\n !isInFolder ||\n (\n this.limitToPath &&\n !this.state.selected.startsWith(`${this.limitToPath}/`) &&\n this.limitToPath !== this.state.selected\n )\n }\n title={this.props.t('ra_Create folder')}\n className={this.props.classes.menuButton}\n color=\"inherit\"\n aria-label=\"add folder\"\n onClick={() => this.setState({ addFolder: true })}\n size=\"small\"\n >\n <AddFolderIcon fontSize=\"small\" />\n </IconButton> : null}\n {this.props.allowUpload ? <IconButton\n edge=\"start\"\n disabled={\n !this.state.selected ||\n !isInFolder ||\n (\n this.limitToPath &&\n !this.state.selected.startsWith(`${this.limitToPath}/`) &&\n this.limitToPath !== this.state.selected\n )\n }\n title={this.props.t('ra_Upload file')}\n className={this.props.classes.menuButton}\n color=\"inherit\"\n aria-label=\"upload file\"\n onClick={() => this.setState({ uploadFile: true })}\n size=\"small\"\n >\n <UploadIcon fontSize=\"small\" />\n </IconButton> : null}\n {this.props.showTypeSelector ? <Tooltip title={this.props.t('ra_Filter files')}>\n <IconButton size=\"small\" onClick={e => this.setState({ showTypesMenu: e.target })}>\n <IconType fontSize=\"small\" />\n </IconButton>\n </Tooltip> : null}\n {this.state.showTypesMenu ? <Menu\n open={!0}\n anchorEl={this.state.showTypesMenu}\n onClose={() => this.setState({ showTypesMenu: null })}\n >\n {Object.keys(FILE_TYPE_ICONS).map(type => {\n const MyIcon = FILE_TYPE_ICONS[type];\n return <MenuItem\n key={type}\n selected={this.state.filterByType === type}\n onClick={() => {\n if (type === 'all') {\n (window._localStorage || window.localStorage).removeItem('files.filterByType');\n this.setState({ filterByType: '', showTypesMenu: null });\n } else {\n (window._localStorage || window.localStorage).setItem('files.filterByType', type);\n this.setState({ filterByType: type, showTypesMenu: null });\n }\n }}\n >\n <ListItemIcon><MyIcon fontSize=\"small\" /></ListItemIcon>\n <ListItemText>{this.props.t(`ra_fileType_${type}`)}</ListItemText>\n </MenuItem>;\n })}\n </Menu> : null}\n <Tooltip title={this.props.t('ra_Background image')}>\n <IconButton\n color=\"inherit\"\n edge=\"start\"\n className={this.props.classes.menuButton}\n onClick={this.setStateBackgroundImage}\n size=\"small\"\n >\n <Brightness5Icon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n {this.state.viewType !== TABLE && this.props.allowDelete ? <Tooltip title={this.props.t('ra_Delete')}>\n <span>\n <IconButton\n aria-label=\"delete\"\n disabled={\n !this.state.selected ||\n this.state.selected === 'vis.0/' ||\n this.state.selected === 'vis-2-beta.0/' ||\n this.state.selected === USER_DATA\n }\n color=\"inherit\"\n edge=\"start\"\n className={this.props.classes.menuButton}\n onClick={e => {\n e.stopPropagation();\n if (this.suppressDeleteConfirm > Date.now()) {\n this.deleteItem(this.state.selected);\n } else {\n this.setState({ deleteItem: this.state.selected });\n }\n }}\n size=\"small\"\n >\n <DeleteIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip> : null}\n </Toolbar>;\n }\n\n findItem(id, folders) {\n folders = folders || this.state.folders;\n if (!folders) {\n return null;\n }\n const parts = id.split('/');\n parts.pop();\n const parentFolder = parts.join('/') || '/';\n if (!folders[parentFolder]) {\n return null;\n }\n return folders[parentFolder].find(item => item.id === id);\n }\n\n renderInputDialog() {\n if (this.state.addFolder) {\n const parentFolder = this.findFirstFolder(this.state.selected);\n\n if (!parentFolder) {\n return window.alert(this.props.t('ra_Invalid parent folder!'));\n }\n\n return <TextInputDialog\n key=\"inputDialog\"\n applyText={this.props.t('ra_Create')}\n cancelText={this.props.t('ra_Cancel')}\n titleText={this.props.t('ra_Create new folder in %s', this.state.selected)}\n promptText={this.props.t('ra_If no file will be created in the folder, it will disappear after the browser closed')}\n labelText={this.props.t('ra_Folder name')}\n verify={text => (this.state.folders[parentFolder].find(item => item.name === text) ? '' : this.props.t('ra_Duplicate name'))}\n onClose={name => {\n if (name) {\n const folders = {};\n Object.keys(this.state.folders).forEach(folder => folders[folder] = this.state.folders[folder]);\n const parent = this.findItem(parentFolder);\n const id = `${parentFolder}/${name}`;\n folders[parentFolder].push({\n id,\n level: parent.level + 1,\n name,\n folder: true,\n temp: true,\n });\n\n folders[parentFolder].sort(sortFolders);\n\n folders[id] = [];\n const expanded = [...this.state.expanded];\n if (!expanded.includes(parentFolder)) {\n expanded.push(parentFolder);\n expanded.sort();\n }\n (window._localStorage || window.localStorage).setItem('files.expanded', JSON.stringify(expanded));\n this.setState({ addFolder: false, folders, expanded }, () =>\n this.select(id));\n } else {\n this.setState({ addFolder: false });\n }\n }}\n replace={text => text.replace(/[^-_\\w\\d]/, '_')}\n />;\n }\n return null;\n }\n\n componentDidUpdate(/* prevProps , prevState, snapshot */) {\n this.setOpacityTimer && clearTimeout(this.setOpacityTimer);\n this.setOpacityTimer = setTimeout(() => {\n this.setOpacityTimer = null;\n const items = window.document.getElementsByClassName('browserItem');\n for (let i = 0; i < items.length; i++) {\n items[i].style.opacity = 1;\n }\n }, 100);\n }\n\n uploadFile(fileName, data) {\n const parts = fileName.split('/');\n const adapter = parts.shift();\n return this.props.socket.writeFile64(adapter, parts.join('/'), data)\n .catch(e => window.alert(`Cannot write file: ${e}`));\n }\n\n findFirstFolder(id) {\n let parentFolder = id;\n const item = this.findItem(parentFolder);\n // find folder\n if (item && !item.folder) {\n const parts = parentFolder.split('/');\n parts.pop();\n parentFolder = '';\n while (parts.length) {\n const _item = this.findItem(parts.join('/'));\n if (_item && _item.folder) {\n parentFolder = parts.join('/');\n break;\n }\n }\n }\n\n return parentFolder;\n }\n\n renderUpload() {\n if (this.state.uploadFile) {\n return [\n <Fab\n key=\"close\"\n color=\"primary\"\n aria-label=\"close\"\n className={this.props.classes.uploadCloseButton}\n onClick={() => this.setState({ uploadFile: false })}\n >\n <CloseIcon />\n </Fab>,\n <Dropzone\n key=\"dropzone\"\n onDragEnter={() => this.setState({ uploadFile: 'dragging' })}\n onDragLeave={() => this.setState({ uploadFile: true })}\n onDrop={acceptedFiles => {\n let count = acceptedFiles.length;\n\n acceptedFiles.forEach(file => {\n const reader = new FileReader();\n\n reader.onabort = () => console.log('file reading was aborted');\n reader.onerror = () => console.log('file reading has failed');\n reader.onload = () => {\n const parentFolder = this.findFirstFolder(this.state.selected);\n\n if (!parentFolder) {\n window.alert(this.props.t('ra_Invalid parent folder!'));\n } else {\n const id = `${parentFolder}/${file.name}`;\n\n this.uploadFile(id, reader.result)\n .then(() => {\n if (!--count) {\n this.setState({ uploadFile: false }, () => {\n if (this.supportSubscribes) {\n // open current folder\n const expanded = [...this.state.expanded];\n if (!expanded.includes(parentFolder)) {\n expanded.push(parentFolder);\n expanded.sort();\n (window._localStorage || window.localStorage).setItem('files.expanded', JSON.stringify(expanded));\n }\n this.setState({ expanded }, () =>\n this.select(id));\n } else {\n setTimeout(\n () =>\n this.browseFolder(parentFolder, true)\n .then(folders => {\n // open current folder\n const expanded = [...this.state.expanded];\n if (!expanded.includes(parentFolder)) {\n expanded.push(parentFolder);\n expanded.sort();\n (window._localStorage || window.localStorage).setItem('files.expanded', JSON.stringify(expanded));\n }\n this.setState({ folders, expanded }, () =>\n this.select(id));\n }),\n 500,\n );\n }\n });\n }\n });\n }\n };\n\n reader.readAsArrayBuffer(file);\n });\n }}\n >\n {({ getRootProps, getInputProps }) => (\n <div\n className={Utils.clsx(this.props.classes.uploadDiv, this.state.uploadFile === 'dragging' && this.props.classes.uploadDivDragging)}\n {...getRootProps()}\n >\n <input {...getInputProps()} />\n <div className={this.props.classes.uploadCenterDiv}>\n <div className={this.props.classes.uploadCenterTextAndIcon}>\n <UploadIcon className={this.props.classes.uploadCenterIcon} />\n <div className={this.props.classes.uploadCenterText}>\n {\n this.state.uploadFile === 'dragging' ? this.props.t('ra_Drop file here') :\n this.props.t('ra_Place your files here or click here to open the browse dialog')\n }\n </div>\n </div>\n </div>\n </div>)}\n </Dropzone>,\n ];\n }\n return null;\n }\n\n deleteRecursive(id) {\n const item = this.findItem(id);\n if (item.folder) {\n return (this.state.folders[id] ? Promise.all(this.state.folders[id].map(_item =>\n this.deleteRecursive(_item.id))) : Promise.resolve())\n .then(() => {\n // If it is folder of second level\n if (item.level >= 1) {\n const parts = id.split('/');\n const adapter = parts.shift();\n this.props.socket.deleteFolder(adapter, parts.join('/'))\n .then(() => {\n // remove this folder\n const folders = JSON.parse(JSON.stringify(this.state.folders));\n delete folders[item.id];\n // delete folder from parent item\n const parentId = getParentDir(item.id);\n const parentFolder = folders[parentId];\n if (parentFolder) {\n const pos = parentFolder.indexOf(parentFolder.find(f => f.id === item.id));\n if (pos !== -1) {\n parentFolder.splice(pos, 1);\n }\n\n this.select(parentId, () => this.setState({ folders }));\n }\n });\n }\n });\n }\n\n const parts = id.split('/');\n const adapter = parts.shift();\n if (parts.length) {\n return this.props.socket.deleteFile(adapter, parts.join('/'))\n .catch(e => window.alert(`Cannot delete file: ${e}`));\n }\n return Promise.resolve();\n }\n\n deleteItem(deleteItem) {\n deleteItem = deleteItem || this.state.deleteItem;\n\n this.setState({ deleteItem: '' }, () =>\n this.deleteRecursive(deleteItem)\n .then(() => {\n const newState = {};\n const pos = this.state.expanded.indexOf(deleteItem);\n if (pos !== -1) {\n const expanded = [...this.state.expanded];\n expanded.splice(pos, 1);\n (window._localStorage || window.localStorage).setItem('files.expanded', JSON.stringify(expanded));\n newState.expanded = expanded;\n }\n\n if (this.state.selected === deleteItem) {\n const parts = this.state.selected.split('/');\n parts.pop();\n newState.selected = parts.join('/');\n }\n\n if (!this.supportSubscribes) {\n const parentFolder = this.findFirstFolder(deleteItem);\n const folders = {};\n\n Object.keys(this.state.folders).forEach(name => {\n if (name !== parentFolder && !name.startsWith(`${parentFolder}/`)) {\n folders[name] = this.state.folders[name];\n }\n });\n\n newState.folders = folders;\n\n this.setState(newState, () =>\n setTimeout(() => this.browseFolders([...this.state.expanded], folders)\n .then(_folders => this.setState({ folders: _folders })), 200));\n } else {\n this.setState(newState);\n }\n }));\n }\n\n renderDeleteDialog() {\n if (this.state.deleteItem) {\n return <Dialog\n key=\"deleteDialog\"\n open={!0}\n onClose={() => this.setState({ deleteItem: '' })}\n aria-labelledby=\"ar_dialog_file_delete_title\"\n >\n <DialogTitle id=\"ar_dialog_file_delete_title\">{this.props.t('ra_Confirm deletion of %s', this.state.deleteItem.split('/').pop())}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {this.props.t('ra_Are you sure?')}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button\n color=\"grey\"\n variant=\"contained\"\n onClick={() => {\n this.suppressDeleteConfirm = Date.now() + 60000 * 5;\n this.deleteItem();\n }}\n >\n {this.props.t('ra_Delete (no confirm for 5 mins)')}\n </Button>\n <Button variant=\"contained\" onClick={() => this.deleteItem()} color=\"primary\" autoFocus>{this.props.t('ra_Delete')}</Button>\n <Button variant=\"contained\" onClick={() => this.setState({ deleteItem: '' })} color=\"grey\">{this.props.t('ra_Cancel')}</Button>\n </DialogActions>\n </Dialog>;\n }\n return false;\n }\n\n renderViewDialog() {\n return this.state.viewer ? <FileViewer\n supportSubscribes={this.supportSubscribes}\n key={this.state.viewer}\n href={this.state.viewer}\n formatEditFile={this.state.formatEditFile}\n themeName={this.props.themeName}\n setStateBackgroundImage={this.setStateBackgroundImage}\n getClassBackgroundImage={this.getClassBackgroundImage}\n t={this.props.t}\n socket={this.props.socket}\n lang={this.props.lang}\n expertMode={this.state.expertMode}\n onClose={() => this.setState({ viewer: '', formatEditFile: '' })}\n /> : null;\n }\n\n renderError() {\n if (this.state.errorText) {\n return <ErrorDialog\n classes={{ }}\n key=\"errorDialog\"\n text={this.state.errorText}\n onClose={() => this.setState({ errorText: '' })}\n />;\n }\n return null;\n }\n\n changeToPath() {\n setTimeout(() => {\n if (this.state.path !== this.state.selected && (!this.lastSelect || Date.now() - this.lastSelect > 100)) {\n let folder = this.state.path;\n if (isFile(this.state.path)) {\n folder = getParentDir(this.state.path);\n }\n new Promise(resolve => {\n if (!this.state.folders[folder]) {\n this.browseFolder(folder)\n .then(folders => this.setState({ folders }, () => resolve(true)))\n .catch(err => this.setState({ errorText: err === NOT_FOUND ? this.props.t('ra_Cannot find \"%s\"', folder) : this.props.t('ra_Cannot read \"%s\"', folder) }));\n } else {\n resolve(true);\n }\n })\n .then(result =>\n result && this.setState({ selected: this.state.path, currentDir: folder, pathFocus: false }));\n } else if (!this.lastSelect || Date.now() - this.lastSelect > 100) {\n this.setState({ pathFocus: false });\n }\n }, 100);\n }\n\n renderBreadcrumb() {\n const parts = this.state.currentDir.startsWith('/') ? this.state.currentDir.split('/') : (`/${this.state.currentDir}`).split('/');\n const p = [];\n return <Breadcrumbs color={'white'}>\n {parts.map((part, i) => {\n part && p.push(part);\n const path = p.join('/');\n if (i < parts.length - 1) {\n return <div\n key={`${this.state.selected}_${i}`}\n className={this.props.classes.pathDivBreadcrumbDir}\n onClick={e => this.changeFolder(e, path || '/')}\n >\n {part || this.props.t('ra_Root')}\n </div>;\n }\n\n return <div\n className={this.props.classes.pathDivBreadcrumbSelected}\n key={`${this.state.selected}_${i}`}\n onClick={() => this.setState({ pathFocus: true })}\n >\n {part}\n </div>;\n })}\n </Breadcrumbs>;\n }\n\n renderPath() {\n return <div key=\"path\" className={this.props.classes.pathDiv}>\n {this.state.pathFocus ?\n <Input\n value={this.state.path}\n onKeyDown={e => {\n if (e.keyCode === 13) {\n this.changeToPath();\n } else if (e.keyCode === 27) {\n this.setState({ pathFocus: false });\n }\n }}\n endAdornment={<IconButton size=\"small\" onClick={() => this.changeToPath()}><EnterIcon /></IconButton>}\n onBlur={() => this.changeToPath()}\n onChange={e => this.setState({ path: e.target.value })}\n className={this.props.classes.pathDivInput}\n />\n :\n this.renderBreadcrumb()}\n </div>;\n }\n\n render() {\n if (!this.props.ready) {\n return <LinearProgress />;\n }\n\n if (this.state.loadAllFolders && !this.foldersLoading) {\n this.foldersLoading = true;\n setTimeout(() => {\n this.setState({ loadAllFolders: false, folders: {} }, () => {\n this.foldersLoading = false;\n this.loadFolders();\n });\n }, 300);\n }\n\n return <div style={this.props.style} className={Utils.clsx(this.props.classes.root, this.props.className)}>\n {this.props.showToolbar ? this.renderToolbar() : null}\n {this.state.viewType === TILE ? this.renderPath() : null}\n <div\n className={Utils.clsx(this.props.classes.filesDiv, this.props.classes[`filesDiv${this.state.viewType}`])}\n onClick={e => {\n if (this.state.viewType !== TABLE) {\n if (this.state.selected !== (this.state.currentDir || '/')) {\n this.changeFolder(e, this.state.currentDir || '/');\n } else {\n e.stopPropagation();\n }\n }\n }}\n >\n {this.state.viewType === TABLE ? this.renderItems('/') : this.renderItems(this.state.currentDir || '/')}\n {this.state.viewType !== TABLE ? <div className={this.props.classes.filesDivHint}>{this.props.t('ra_select_folder_hint')}</div> : null}\n </div>\n {this.props.allowUpload ? this.renderInputDialog() : null}\n {this.props.allowUpload ? this.renderUpload() : null}\n {this.props.allowDelete ? this.renderDeleteDialog() : null}\n {this.props.allowView ? this.renderViewDialog() : null}\n {this.state.modalEditOfAccess && this.props.modalEditOfAccessControl && this.props.modalEditOfAccessControl(this, this.state.modalEditOfAccessObjData)}\n {this.renderError()}\n </div>;\n }\n}\n\nFileBrowser.defaultProps = {\n modalEditOfAccessControl: () => { },\n};\n\nFileBrowser.propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n t: PropTypes.func.isRequired,\n lang: PropTypes.string.isRequired,\n socket: PropTypes.object.isRequired,\n ready: PropTypes.bool,\n expertMode: PropTypes.bool,\n showTypeSelector: PropTypes.bool,\n showToolbar: PropTypes.bool,\n allowUpload: PropTypes.bool,\n allowDownload: PropTypes.bool,\n allowCreateFolder: PropTypes.bool,\n allowDelete: PropTypes.bool,\n allowView: PropTypes.bool,\n imagePrefix: PropTypes.string,\n showExpertButton: PropTypes.bool,\n viewType: PropTypes.string,\n showViewTypeButton: PropTypes.bool,\n restrictToFolder: PropTypes.string, // If defined, allow selecting only files from this folder\n allowNonRestricted: PropTypes.bool, // If restrictToFolder defined, allow selecting files outside of this folder\n\n selected: PropTypes.string,\n tileView: PropTypes.bool,\n filterFiles: PropTypes.array, // like ['png', 'svg', 'bmp', 'jpg', 'jpeg', 'gif']\n filterByType: PropTypes.string, // images, code or txt from EXTENSIONS\n onSelect: PropTypes.func, // function (id, isDoubleClick)\n\n modalEditOfAccessControl: PropTypes.func,\n};\n\n/** @type {typeof FileBrowser} */\nconst _export = withWidth()(withStyles(styles)(FileBrowser));\nexport default _export;\n"],"mappings":"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"}
package/README.md CHANGED
@@ -670,9 +670,12 @@ socket.getObjectViewCustom('custom', 'state', 'startKey', 'endKey')
670
670
  -->
671
671
 
672
672
  ## Changelog
673
- ### 4.7.1 (2023-11-03)
673
+ ### 4.7.3 (2023-11-08)
674
+ * (bluefox) Updated packages
675
+
676
+ ### 4.7.2 (2023-11-03)
674
677
  * (foxriver76) fixed problem with color picker, where editing TextField was buggy
675
- * (foxriver76) fixed light mode color of path in FileBrowser
678
+ * (foxriver76) fixed light mode color of a path in FileBrowser
676
679
 
677
680
  ### 4.7.0 (2023-10-31)
678
681
  * (bluefox) Synced with admin
@@ -849,7 +852,7 @@ socket.getObjectViewCustom('custom', 'state', 'startKey', 'endKey')
849
852
  * (bluefox) Corrected expert mode for object browser
850
853
 
851
854
  ### 3.2.2 (2022-10-25)
852
- * (bluefox) Added support of prefixes for translations
855
+ * (bluefox) Added support for prefixes for translations
853
856
 
854
857
  ### 3.2.1 (2022-10-24)
855
858
  * (bluefox) Corrected color inversion
@@ -902,7 +905,7 @@ socket.getObjectViewCustom('custom', 'state', 'startKey', 'endKey')
902
905
  * (bluefox) Update object browser
903
906
 
904
907
  ### 3.1.15 (2022-06-27)
905
- * (bluefox) Allow using spaces in name
908
+ * (bluefox) Allowed using of spaces in name
906
909
 
907
910
  ### 3.1.14 (2022-06-23)
908
911
  * (bluefox) Added translations
@@ -914,7 +917,7 @@ socket.getObjectViewCustom('custom', 'state', 'startKey', 'endKey')
914
917
  * (bluefox) Added translations
915
918
 
916
919
  ### 3.1.9 (2022-06-20)
917
- * (bluefox) Allowed to work behind reverse proxy
920
+ * (bluefox) Allowed working behind reverse proxy
918
921
 
919
922
  ### 3.1.7 (2022-06-19)
920
923
  * (bluefox) Added file select dialog
@@ -926,7 +929,7 @@ socket.getObjectViewCustom('custom', 'state', 'startKey', 'endKey')
926
929
  * (bluefox) Added new document icon (read only)
927
930
 
928
931
  ### 3.1.1 (2022-06-09)
929
- * (bluefox) Allowed to work behind reverse proxy
932
+ * (bluefox) Allowed working behind reverse proxy
930
933
 
931
934
  ### 3.1.0 (2022-06-07)
932
935
  * (bluefox) Some german texts were corrected
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iobroker/adapter-react-v5",
3
- "version": "4.7.1",
3
+ "version": "4.7.3",
4
4
  "description": "React classes to develop admin interfaces for ioBroker with react.",
5
5
  "author": {
6
6
  "name": "Denis Haev (bluefox)",
@@ -32,10 +32,10 @@
32
32
  "@iobroker/socket-client": "^2.3.11",
33
33
  "@mui/icons-material": "^5.14.16",
34
34
  "@mui/material": "5.14.14",
35
- "@mui/styles": "5.14.16",
36
- "@mui/x-date-pickers": "^6.17.0",
37
- "@sentry/browser": "^7.76.0",
38
- "@sentry/integrations": "^7.76.0",
35
+ "@mui/styles": "5.14.14",
36
+ "@mui/x-date-pickers": "^6.18.0",
37
+ "@sentry/browser": "^7.79.0",
38
+ "@sentry/integrations": "^7.79.0",
39
39
  "@types/iobroker": "^4.0.5",
40
40
  "react-color": "^2.19.3",
41
41
  "react-colorful": "^5.6.1",