{"ast":null,"code":"var _jsxFileName = \"/var/www/gavt/react-demo/src/MainLayout.tsx\",\n  _s = $RefreshSig$();\nimport React, { useState, useEffect, lazy, Suspense } from 'react'; //add lazy, suspense for tmp audio authority loading test\nimport { Layout, Menu, ConfigProvider, Button, Avatar, Modal, Space, Dropdown } from 'antd';\nimport { UserOutlined } from '@ant-design/icons';\nimport { Routes, Route, Link, useLocation, useNavigate } from 'react-router-dom';\n// import About from './Route/About';\n// import Sample from './Route/Sample';\n\nimport { FreqProvider } from './gavt/FreqContext';\nimport Gavt from './Route/Gavt';\nimport GavtSelection from './gavt/GavtSelection';\nimport GavtPractice from './gavt/GavtPractice';\nimport GavtCali from './gavt/GavtCali';\nimport GavtTutorial from './gavt/Tutorial/GavtTutorial';\n\n// import SampleVolume from './Route/SampleVolume';\n// import Assessment from './Route/Assessment';\n// import Help from './Route/Help';\nimport Main from './Route/HomePage';\nimport logoImage from '../src/icon/new-icon-removebg-preview.png';\nimport './CSS/MainLayout.css';\nimport { Flex } from 'antd';\nimport { createFromIconfontCN } from '@ant-design/icons';\nimport { Tooltip } from 'antd';\nimport AudioPlayer from 'react-h5-audio-player';\nimport { useOptionsHooks } from './hooks/useOptionsHooks';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst PlayIcon = createFromIconfontCN({\n  scriptUrl: '//at.alicdn.com/t/c/font_4566050_zpduwnlv2t.js'\n});\n_c = PlayIcon;\nconst CustomButton = ({\n  label,\n  handleIconClick\n}) => {\n  return /*#__PURE__*/_jsxDEV(Button, {\n    style: {\n      display: 'flex',\n      alignItems: 'center'\n    },\n    className: \"dropdownIcon\",\n    icon: /*#__PURE__*/_jsxDEV(PlayIcon, {\n      style: {\n        fontSize: '1.7em'\n      },\n      onClick: handleIconClick,\n      type: \"icon-audioPlay\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 51,\n      columnNumber: 9\n    }, this),\n    children: label\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 44,\n    columnNumber: 5\n  }, this);\n};\n_c2 = CustomButton;\nconst {\n  Header,\n  Content,\n  Footer\n} = Layout;\nconst defaultBackColor = \"linear-gradient(to bottom, #d7d2e6, #c9d9f3)\";\nconst defaultBackColor_2 = \"url('/transvoice/HomePage-img.png')\";\nconst marksRange = {\n  50: '50Hz',\n  600: '600Hz'\n};\nconst marksBallPos = {\n  0: '0%',\n  1: '100%'\n};\nconst marksVol = {\n  50: '50dB',\n  90: '90dB'\n};\n\n// Lazy load other modules\nconst About = /*#__PURE__*/lazy(_c3 = () => import('./Route/About'));\n_c4 = About;\nconst Sample = /*#__PURE__*/lazy(_c5 = () => import('./Route/Sample'));\n_c6 = Sample;\nconst SampleVolume = /*#__PURE__*/lazy(_c7 = () => import('./Route/SampleVolume'));\n_c8 = SampleVolume;\nconst Assessment = /*#__PURE__*/lazy(_c9 = () => import('./Route/Assessment'));\n_c10 = Assessment;\nconst Help = /*#__PURE__*/lazy(_c11 = () => import('./Route/Help'));\n_c12 = Help;\nconst MainLayout = () => {\n  _s();\n  const {\n    gender,\n    setGender,\n    genderName,\n    audioPlayerNew,\n    audioKey,\n    audioSrc,\n    fetchAudioData,\n    handleIconClick,\n    itemsAvatar\n  } = useOptionsHooks();\n  const [isClickListen, setIsClickListen] = useState(0);\n  const location = useLocation();\n  const navigate = useNavigate();\n  const [isModalOpen, setIsModalOpen] = useState(false);\n  const [openSetting, setOpenSetting] = useState(false);\n  const [selectedItem, setSelectedItem] = useState('Settings');\n  const [showNotesPar, setShowNotesPar] = useState(true);\n  const [enableVol, setEnableVol] = useState(false);\n  const [menuKey, setMenuKey] = useState('4');\n  const [backgroundImg, setBackgroundImg] = useState(defaultBackColor);\n  useEffect(() => {\n    fetchAudioData();\n  }, [genderName]);\n  useEffect(() => {\n    switch (menuKey) {\n      case '4':\n        setBackgroundImg(defaultBackColor_2);\n        break;\n      case '6':\n        setBackgroundImg(defaultBackColor_2);\n        break;\n      case '8':\n        setBackgroundImg(defaultBackColor);\n        break;\n      default:\n        setBackgroundImg(\"transparent\");\n    }\n    window.scrollTo(0, 0);\n  }, [menuKey]);\n  useEffect(() => {\n    const pathIn = location.pathname;\n    switch (pathIn) {\n      case \"/HomePage\":\n        setMenuKey('4');\n        break;\n      case \"/Home\":\n        setMenuKey('7');\n        break;\n      case '/pitch':\n        setMenuKey('3');\n        break;\n      case '/volume':\n        setMenuKey('5');\n        break;\n      case pathIn.startsWith('/resonance') ? pathIn : undefined:\n        setMenuKey('8');\n        break;\n      case '/assessment':\n        setMenuKey('6');\n        break;\n      case '/about':\n        setMenuKey('1');\n        break;\n      case '/Help':\n        setMenuKey('2');\n        break;\n      default:\n        setMenuKey('4');\n    }\n  }, [location.pathname]);\n  const navigateToPitch = () => {\n    setMenuKey('3');\n    navigate('/pitch');\n  };\n  const showModal = () => {\n    setIsModalOpen(true);\n  };\n  const handleCancel = () => {\n    setIsModalOpen(false);\n  };\n  const showDrawer = () => {\n    setOpenSetting(true);\n  };\n  const closeDrawer = () => {\n    setOpenSetting(false);\n  };\n  const onClickMenu = e => {\n    setSelectedItem(e.key);\n  };\n  const onChangeHz = ({\n    target: {\n      value\n    }\n  }) => {\n    setShowNotesPar(value !== 'hz');\n  };\n  const onChangeRange = rangeValue => {\n    // handle change for pitch display range\n  };\n  const onChangePosition = positionValue => {\n    // handle change for pitch indicator horizontal position\n  };\n  const onChangeSpeed = speedValue => {\n    // handle change for pitch indicator speed\n  };\n  const EnableVoluneMode = e => {\n    setEnableVol(e);\n  };\n  const onChangeThreshold = e => {\n    // handle change for threshold\n  };\n  const formatterdB = value => `${value} dB`;\n  const formatterHz = value => `${value} Hz`;\n  const formatterPos = value => `${value ? (value * 100).toFixed(0) : '0'}%`;\n\n  // render profile page\n  const renderContent = () => {\n    switch (selectedItem) {\n      case 'Profile':\n        return /*#__PURE__*/_jsxDEV(\"p\", {\n          children: \"profile\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 229,\n          columnNumber: 16\n        }, this);\n      case 'Settings':\n        return /*#__PURE__*/_jsxDEV(\"div\", {\n          children: /*#__PURE__*/_jsxDEV(Flex, {\n            vertical: true,\n            gap: \"middle\",\n            children: [/*#__PURE__*/_jsxDEV(Space, {\n              children: [/*#__PURE__*/_jsxDEV(\"p\", {\n                children: \"# Model Selection: \"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 234,\n                columnNumber: 15\n              }, this), /*#__PURE__*/_jsxDEV(Dropdown.Button, {\n                menu: {\n                  items: itemsAvatar\n                },\n                placement: \"bottom\",\n                trigger: [\"click\"],\n                overlayClassName: \"custom-dropdown\",\n                buttonsRender: ([leftButton, rightButton]) => [/*#__PURE__*/_jsxDEV(Tooltip, {\n                  children: /*#__PURE__*/_jsxDEV(Button, {\n                    style: {\n                      display: 'flex',\n                      alignItems: 'center'\n                    },\n                    onClick: handleIconClick,\n                    icon: /*#__PURE__*/_jsxDEV(PlayIcon, {\n                      style: {\n                        fontSize: '1.7em'\n                      },\n                      type: \"icon-audioPlay\"\n                    }, void 0, false, {\n                      fileName: _jsxFileName,\n                      lineNumber: 288,\n                      columnNumber: 25\n                    }, this),\n                    children: genderName === \"none\" ? \"Model Voice\" : gender === \"Female\" ? genderName : 'Male01'\n                  }, void 0, false, {\n                    fileName: _jsxFileName,\n                    lineNumber: 281,\n                    columnNumber: 21\n                  }, this)\n                }, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 280,\n                  columnNumber: 19\n                }, this)\n\n                //   <Space.Compact block className='dropdownButton'>\n                //   <Tooltip title=\"Play Audio\">\n                //     <Button icon={\n                //       <PlayIcon\n                //         style={{\n                //           fontSize: '1.7em',\n                //         }}\n                //         onClick={handleIconClick}\n                //         type=\"icon-audioPlay\"\n                //          />\n                //     }\n                //       className=\"dropdownIcon\"\n                //     >\n\n                //     </Button>\n\n                //   </Tooltip>\n\n                //   <Tooltip title=\"Change Avatar\">\n                //     <Button className=\"dropdownLastItem\" onClick={handleDropdownClick}>\n                //       {genderName === \"none\" ? \"Model Voice\" : gender === \"Female\" ? genderName : 'Male01'}\n                //     </Button>\n                //   </Tooltip>\n\n                // </Space.Compact>\n                , /*#__PURE__*/React.cloneElement(rightButton, {\n                  loading: false\n                })]\n                // open={showDropdown}\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 274,\n                columnNumber: 15\n              }, this)]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 233,\n              columnNumber: 13\n            }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 341,\n              columnNumber: 13\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 232,\n            columnNumber: 11\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 231,\n          columnNumber: 17\n        }, this);\n      case 'Other':\n        return /*#__PURE__*/_jsxDEV(\"p\", {\n          children: \"other\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 346,\n          columnNumber: 16\n        }, this);\n      default:\n        return null;\n    }\n  };\n  const menuClicked = e => {\n    console.log(e.key);\n    setMenuKey(e.key);\n  };\n  const exerciseMenu = /*#__PURE__*/_jsxDEV(Menu, {\n    className: \"exercise-menu\",\n    children: [/*#__PURE__*/_jsxDEV(Menu.Item, {\n      onClick: menuClicked,\n      children: /*#__PURE__*/_jsxDEV(Link, {\n        to: \"/resonance\",\n        children: \"RESONANCE\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 367,\n        columnNumber: 9\n      }, this)\n    }, \"8\", false, {\n      fileName: _jsxFileName,\n      lineNumber: 366,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Menu.Item, {\n      onClick: menuClicked,\n      children: /*#__PURE__*/_jsxDEV(Link, {\n        to: \"https://ceas5.uc.edu/transvoice/\",\n        children: \"PITCH TOOLS\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 370,\n        columnNumber: 9\n      }, this)\n    }, \"9\", false, {\n      fileName: _jsxFileName,\n      lineNumber: 369,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 359,\n    columnNumber: 5\n  }, this);\n  const itemsMenu = [{\n    label: 'Profile',\n    key: 'Profile'\n  }, {\n    label: 'Settings',\n    key: 'Settings'\n  }, {\n    label: 'Other',\n    key: 'Other'\n  }];\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: \"LayoutBGP\",\n    children: /*#__PURE__*/_jsxDEV(Layout, {\n      style: {\n        ...(menuKey === '4' ? {\n          backgroundImage: defaultBackColor_2,\n          backgroundColor: 'linear-gradient(to bottom, #d7d2e6, #c9d9f3)',\n          width: '200vw',\n          backgroundSize: '10rem',\n          maxWidth: '100vw',\n          flex: 1\n        } : {\n          backgroundColor: 'transparent'\n        }),\n        isolation: \"isolate\",\n        ...(menuKey === '6' ? {\n          backgroundImage: defaultBackColor_2,\n          backgroundColor: 'linear-gradient(to bottom, #d7d2e6, #c9d9f3)',\n          width: '100vw',\n          backgroundSize: '10rem',\n          height: \"1300px\"\n        } : {\n          backgroundColor: 'transparent'\n        })\n      },\n      className: \"layout\",\n      children: [/*#__PURE__*/_jsxDEV(Header, {\n        style: {\n          display: 'flex',\n          justifyContent: 'flex-end',\n          alignItems: 'center',\n          background: 'transparent'\n        },\n        children: [/*#__PURE__*/_jsxDEV(\"div\", {\n          className: \"TVox\",\n          children: /*#__PURE__*/_jsxDEV(\"img\", {\n            className: \"logoImg\",\n            src: logoImage,\n            alt: \"Logo\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 418,\n            columnNumber: 13\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 417,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(ConfigProvider, {\n          theme: {\n            token: {\n              borderRadius: 0\n            },\n            components: {\n              Menu: {\n                itemColor: \"rgb(78, 120, 195)\",\n                horizontalItemSelectedBg: \"rgb(134, 120, 169)\",\n                horizontalItemSelectedColor: \"white\"\n              }\n            }\n          },\n          children: /*#__PURE__*/_jsxDEV(Menu, {\n            disabledOverflow: true,\n            className: \"Menu\",\n            theme: \"light\",\n            mode: \"horizontal\",\n            selectedKeys: [menuKey],\n            children: [/*#__PURE__*/_jsxDEV(Menu.Item, {\n              onClick: menuClicked,\n              className: \"menu-item\",\n              children: /*#__PURE__*/_jsxDEV(Link, {\n                to: \"/\",\n                children: \"HOME\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 436,\n                columnNumber: 17\n              }, this)\n            }, \"4\", false, {\n              fileName: _jsxFileName,\n              lineNumber: 435,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(Dropdown, {\n              overlay: exerciseMenu,\n              placement: \"bottom\",\n              children: /*#__PURE__*/_jsxDEV(Menu.Item, {\n                className: \"menu-item\",\n                children: \"EXERCISES\"\n              }, \"exercises\", false, {\n                fileName: _jsxFileName,\n                lineNumber: 439,\n                columnNumber: 17\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 438,\n              columnNumber: 15\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 434,\n            columnNumber: 13\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 420,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n          className: \"userIcon\",\n          children: /*#__PURE__*/_jsxDEV(Button, {\n            shape: \"circle\",\n            type: \"default\",\n            icon: /*#__PURE__*/_jsxDEV(UserOutlined, {}, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 458,\n              columnNumber: 21\n            }, this),\n            onClick: showModal // Show modal on click\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 455,\n            columnNumber: 13\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 454,\n          columnNumber: 11\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 416,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Content, {\n        className: \"ContentMain\",\n        style: {\n          display: 'flex',\n          flexDirection: 'column',\n          alignItems: 'center',\n          marginTop: \"0rem\",\n          width: \"100%\",\n          background: 'transparent',\n          overflow: 'hidden'\n        },\n        children: /*#__PURE__*/_jsxDEV(FreqProvider, {\n          children: /*#__PURE__*/_jsxDEV(Suspense, {\n            fallback: /*#__PURE__*/_jsxDEV(\"div\", {\n              children: \"Loading...\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 466,\n              columnNumber: 33\n            }, this),\n            children: /*#__PURE__*/_jsxDEV(Routes, {\n              children: [/*#__PURE__*/_jsxDEV(Route, {\n                path: \"/\",\n                element: /*#__PURE__*/_jsxDEV(Main, {\n                  goToSample: navigateToPitch,\n                  isModalOpen: isModalOpen,\n                  setIsModalOpen: setIsModalOpen,\n                  showModal: showModal,\n                  handleCancel: handleCancel\n                }, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 468,\n                  columnNumber: 42\n                }, this)\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 468,\n                columnNumber: 17\n              }, this), /*#__PURE__*/_jsxDEV(Route, {\n                path: \"/resonance/practice\",\n                element: /*#__PURE__*/_jsxDEV(GavtPractice, {}, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 470,\n                  columnNumber: 60\n                }, this)\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 470,\n                columnNumber: 17\n              }, this), /*#__PURE__*/_jsxDEV(Route, {\n                path: \"/resonance\",\n                element: /*#__PURE__*/_jsxDEV(Gavt, {}, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 471,\n                  columnNumber: 51\n                }, this)\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 471,\n                columnNumber: 17\n              }, this), /*#__PURE__*/_jsxDEV(Route, {\n                path: \"/resonance/selection\",\n                element: /*#__PURE__*/_jsxDEV(GavtSelection, {}, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 472,\n                  columnNumber: 61\n                }, this)\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 472,\n                columnNumber: 17\n              }, this), /*#__PURE__*/_jsxDEV(Route, {\n                path: \"/resonance/calibrate\",\n                element: /*#__PURE__*/_jsxDEV(GavtCali, {}, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 473,\n                  columnNumber: 61\n                }, this)\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 473,\n                columnNumber: 17\n              }, this), /*#__PURE__*/_jsxDEV(Route, {\n                path: \"/resonance/tutorial\",\n                element: /*#__PURE__*/_jsxDEV(GavtTutorial, {}, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 474,\n                  columnNumber: 60\n                }, this)\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 474,\n                columnNumber: 17\n              }, this)]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 467,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 466,\n            columnNumber: 13\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 465,\n          columnNumber: 11\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 464,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Modal, {\n        title: \"Settings\",\n        open: isModalOpen,\n        className: \"AvatarModal\",\n        onCancel: () => setIsModalOpen(false),\n        footer: null,\n        children: /*#__PURE__*/_jsxDEV(\"div\", {\n          style: {\n            textAlign: 'center'\n          },\n          children: [/*#__PURE__*/_jsxDEV(Avatar, {\n            size: 64,\n            icon: /*#__PURE__*/_jsxDEV(UserOutlined, {}, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 509,\n              columnNumber: 35\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 509,\n            columnNumber: 11\n          }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n            children: \"Name Name\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 510,\n            columnNumber: 11\n          }, this), /*#__PURE__*/_jsxDEV(Menu, {\n            disabledOverflow: true,\n            onClick: onClickMenu,\n            style: {\n              justifyContent: \"center\"\n            },\n            mode: \"horizontal\",\n            selectedKeys: [selectedItem],\n            items: itemsMenu\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 512,\n            columnNumber: 11\n          }, this), renderContent(), /*#__PURE__*/_jsxDEV(Button, {\n            onClick: handleCancel,\n            children: \"Close\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 520,\n            columnNumber: 11\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 508,\n          columnNumber: 9\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 501,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(AudioPlayer, {\n        autoPlayAfterSrcChange: false,\n        src: audioSrc,\n        ref: audioPlayerNew,\n        style: {\n          display: 'none'\n        },\n        onEnded: () => console.log('audio ended'),\n        onError: e => console.log('audio error', e)\n      }, audioKey, false, {\n        fileName: _jsxFileName,\n        lineNumber: 534,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Footer, {\n        style: {\n          textAlign: 'center',\n          overflow: 'hidden',\n          background: 'transparent',\n          fontSize: '20px',\n          position: 'relative',\n          width: '100%',\n          color: 'blue',\n          padding: '25px'\n        },\n        children: [\"TruVox \\xA9\", new Date().getFullYear(), \" Created by the University of Cincinnati and New York University (PIs: Novak and McAllister)\"]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 544,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 396,\n      columnNumber: 7\n    }, this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 391,\n    columnNumber: 5\n  }, this);\n};\n_s(MainLayout, \"Uo1vCIc65392ovtWoMKLd1wnaiE=\", false, function () {\n  return [useOptionsHooks, useLocation, useNavigate];\n});\n_c13 = MainLayout;\nexport default MainLayout;\nvar _c, _c2, _c3, _c4, _c5, _c6, _c7, _c8, _c9, _c10, _c11, _c12, _c13;\n$RefreshReg$(_c, \"PlayIcon\");\n$RefreshReg$(_c2, \"CustomButton\");\n$RefreshReg$(_c3, \"About$lazy\");\n$RefreshReg$(_c4, \"About\");\n$RefreshReg$(_c5, \"Sample$lazy\");\n$RefreshReg$(_c6, \"Sample\");\n$RefreshReg$(_c7, \"SampleVolume$lazy\");\n$RefreshReg$(_c8, \"SampleVolume\");\n$RefreshReg$(_c9, \"Assessment$lazy\");\n$RefreshReg$(_c10, \"Assessment\");\n$RefreshReg$(_c11, \"Help$lazy\");\n$RefreshReg$(_c12, \"Help\");\n$RefreshReg$(_c13, \"MainLayout\");","map":{"version":3,"names":["React","useState","useEffect","lazy","Suspense","Layout","Menu","ConfigProvider","Button","Avatar","Modal","Space","Dropdown","UserOutlined","Routes","Route","Link","useLocation","useNavigate","FreqProvider","Gavt","GavtSelection","GavtPractice","GavtCali","GavtTutorial","Main","logoImage","Flex","createFromIconfontCN","Tooltip","AudioPlayer","useOptionsHooks","jsxDEV","_jsxDEV","PlayIcon","scriptUrl","_c","CustomButton","label","handleIconClick","style","display","alignItems","className","icon","fontSize","onClick","type","fileName","_jsxFileName","lineNumber","columnNumber","children","_c2","Header","Content","Footer","defaultBackColor","defaultBackColor_2","marksRange","marksBallPos","marksVol","About","_c3","_c4","Sample","_c5","_c6","SampleVolume","_c7","_c8","Assessment","_c9","_c10","Help","_c11","_c12","MainLayout","_s","gender","setGender","genderName","audioPlayerNew","audioKey","audioSrc","fetchAudioData","itemsAvatar","isClickListen","setIsClickListen","location","navigate","isModalOpen","setIsModalOpen","openSetting","setOpenSetting","selectedItem","setSelectedItem","showNotesPar","setShowNotesPar","enableVol","setEnableVol","menuKey","setMenuKey","backgroundImg","setBackgroundImg","window","scrollTo","pathIn","pathname","startsWith","undefined","navigateToPitch","showModal","handleCancel","showDrawer","closeDrawer","onClickMenu","e","key","onChangeHz","target","value","onChangeRange","rangeValue","onChangePosition","positionValue","onChangeSpeed","speedValue","EnableVoluneMode","onChangeThreshold","formatterdB","formatterHz","formatterPos","toFixed","renderContent","vertical","gap","menu","items","placement","trigger","overlayClassName","buttonsRender","leftButton","rightButton","cloneElement","loading","menuClicked","console","log","exerciseMenu","Item","to","itemsMenu","backgroundImage","backgroundColor","width","backgroundSize","maxWidth","flex","isolation","height","justifyContent","background","src","alt","theme","token","borderRadius","components","itemColor","horizontalItemSelectedBg","horizontalItemSelectedColor","disabledOverflow","mode","selectedKeys","overlay","shape","flexDirection","marginTop","overflow","fallback","path","element","goToSample","title","open","onCancel","footer","textAlign","size","autoPlayAfterSrcChange","ref","onEnded","onError","position","color","padding","Date","getFullYear","_c13","$RefreshReg$"],"sources":["/var/www/gavt/react-demo/src/MainLayout.tsx"],"sourcesContent":["import React, { useState, useEffect, lazy, Suspense } from 'react'; //add lazy, suspense for tmp audio authority loading test\nimport { Layout, Menu, ConfigProvider, Button, Drawer, Avatar, Modal, Space, Radio, Slider, Switch, Dropdown } from 'antd';\nimport { UserOutlined } from '@ant-design/icons';\nimport { BrowserRouter as Router, Routes, Route, Link, useLocation, useNavigate } from 'react-router-dom';\n// import About from './Route/About';\n// import Sample from './Route/Sample';\n\nimport { FreqProvider } from './gavt/FreqContext';\nimport Gavt from './Route/Gavt'\nimport GavtSelection from './gavt/GavtSelection';\nimport GavtPractice from './gavt/GavtPractice';\nimport GavtCali from './gavt/GavtCali';\nimport GavtTutorial from './gavt/Tutorial/GavtTutorial';\n\n// import SampleVolume from './Route/SampleVolume';\n// import Assessment from './Route/Assessment';\n// import Help from './Route/Help';\nimport Main from './Route/HomePage';\nimport logoImage from '../src/icon/new-icon-removebg-preview.png';\nimport './CSS/MainLayout.css';\nimport type { MenuProps } from 'antd';\nimport backgroundImage from './icon/HomePage-img.png';\n\nimport { Flex } from 'antd';\nimport { InfoCircleOutlined, CustomerServiceFilled } from '@ant-design/icons';\nimport { createFromIconfontCN } from '@ant-design/icons';\nimport ReactDOM from 'react-dom/client';\nimport ReactAudioPlayer from 'react-audio-player';\nimport { Tooltip } from 'antd';\nimport AudioPlayer from 'react-h5-audio-player';\nimport { useOptionsHooks } from './hooks/useOptionsHooks';\n\nconst PlayIcon = createFromIconfontCN({\n  scriptUrl: '//at.alicdn.com/t/c/font_4566050_zpduwnlv2t.js',\n});\n\ninterface CustomButtonProps {\n  label: string;\n  handleIconClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n}\n\nconst CustomButton: React.FC<CustomButtonProps> = ({ label, handleIconClick }) => {\n  return (\n    <Button\n      style={{\n        display: 'flex',\n        alignItems: 'center',\n      }}\n      className='dropdownIcon'\n      icon={\n        <PlayIcon\n          style={{\n            fontSize: '1.7em',\n          }}\n          onClick={handleIconClick}\n          type=\"icon-audioPlay\"\n        />\n      }\n    >\n      {label}\n    </Button>\n  );\n};\n\nconst { Header, Content, Footer } = Layout;\nconst defaultBackColor = \"linear-gradient(to bottom, #d7d2e6, #c9d9f3)\";\nconst defaultBackColor_2 = \"url('/transvoice/HomePage-img.png')\";\n\nconst marksRange = {\n  50: '50Hz',\n  600: '600Hz',\n};\n\nconst marksBallPos = {\n  0: '0%',\n  1: '100%',\n};\n\nconst marksVol = {\n  50: '50dB',\n  90: '90dB',\n};\n\n// Lazy load other modules\nconst About = lazy(() => import('./Route/About'));\nconst Sample = lazy(() => import('./Route/Sample'));\nconst SampleVolume = lazy(() => import('./Route/SampleVolume'));\nconst Assessment = lazy(() => import('./Route/Assessment'));\nconst Help = lazy(() => import('./Route/Help'));\n\nconst MainLayout = () => {\n  const {\n    gender,\n    setGender,\n    genderName,\n    audioPlayerNew,\n    audioKey,\n    audioSrc,\n    fetchAudioData,\n    handleIconClick,\n    itemsAvatar,\n  } = useOptionsHooks();\n\n  const [isClickListen, setIsClickListen] = useState<number>(0);\n\n  const location = useLocation();\n  const navigate = useNavigate();\n  const [isModalOpen, setIsModalOpen] = useState(false);\n  const [openSetting, setOpenSetting] = useState(false);\n  const [selectedItem, setSelectedItem] = useState('Settings');\n  const [showNotesPar, setShowNotesPar] = useState(true);\n  const [enableVol, setEnableVol] = useState(false);\n  const [menuKey, setMenuKey] = useState<string>('4');\n  const [backgroundImg, setBackgroundImg] = useState<string>(defaultBackColor);\n\n\n  useEffect(() => {\n    fetchAudioData();\n  }, [genderName]);\n\n\n  useEffect(() => {\n    switch (menuKey) {\n      case '4':\n        setBackgroundImg(defaultBackColor_2);\n        break;\n      case '6':\n        setBackgroundImg(defaultBackColor_2);\n        break;\n      case '8':\n        setBackgroundImg(defaultBackColor);\n        break;\n      default:\n        setBackgroundImg(\"transparent\");\n    }\n\n    window.scrollTo(0, 0);\n  }, [menuKey]);\n\n  useEffect(() => {\n    const pathIn = location.pathname;\n    switch (pathIn) {\n      case \"/HomePage\":\n        setMenuKey('4');\n        break;\n      case \"/Home\":\n        setMenuKey('7');\n        break;\n      case '/pitch':\n        setMenuKey('3');\n        break;\n      case '/volume':\n        setMenuKey('5');\n        break;\n      case pathIn.startsWith('/resonance') ? pathIn : undefined:\n        setMenuKey('8');\n        break;\n      case '/assessment':\n        setMenuKey('6');\n        break;\n      case '/about':\n        setMenuKey('1');\n        break;\n      case '/Help':\n        setMenuKey('2');\n        break;\n      default:\n        setMenuKey('4');\n    }\n  }, [location.pathname]);\n\n  const navigateToPitch = () => {\n    setMenuKey('3');\n    navigate('/pitch');\n  };\n\n  const showModal = () => {\n    setIsModalOpen(true);\n  };\n\n  const handleCancel = () => {\n    setIsModalOpen(false);\n  };\n\n  const showDrawer = () => {\n    setOpenSetting(true);\n  };\n\n  const closeDrawer = () => {\n    setOpenSetting(false);\n  };\n\n  const onClickMenu = (e: any) => {\n    setSelectedItem(e.key);\n  };\n\n  const onChangeHz = ({ target: { value } }: any) => {\n    setShowNotesPar(value !== 'hz');\n  };\n\n  const onChangeRange = (rangeValue: number[]) => {\n    // handle change for pitch display range\n  };\n\n  const onChangePosition = (positionValue: number) => {\n    // handle change for pitch indicator horizontal position\n  };\n\n  const onChangeSpeed = (speedValue: number) => {\n    // handle change for pitch indicator speed\n  };\n\n  const EnableVoluneMode = (e: boolean) => {\n    setEnableVol(e);\n  };\n\n  const onChangeThreshold = (e: number) => {\n    // handle change for threshold\n  };\n\n  const formatterdB = (value: number | undefined) => `${value} dB`;\n  const formatterHz = (value: number | undefined) => `${value} Hz`;\n  const formatterPos = (value: number | undefined) => `${value ? (value * 100).toFixed(0) : '0'}%`;\n\n  // render profile page\n  const renderContent = () => {\n    switch (selectedItem) {\n      case 'Profile':\n        return <p>profile</p>;\n      case 'Settings':\n        return (<div>\n          <Flex vertical gap=\"middle\">\n            <Space>\n              <p># Model Selection: </p>\n\n              {/* <Dropdown\n                menu={{ items: itemsAvatar, selectable: true }}\n                placement=\"bottom\"\n                trigger={[\"click\"]}\n                overlayClassName='custom-dropdown'\n              // open={showDropdown}\n              >\n\n                <Space.Compact block className='dropdownButton'>\n                  <Tooltip title=\"Play Audio\">\n                    <Button icon={\n                      <PlayIcon\n                        style={{\n                          fontSize: '1.7em',\n                        }}\n                        onClick={handleIconClick}\n                        type=\"icon-audioPlay\"\n                         />\n                    }\n                      className=\"dropdownIcon\"\n                    >\n\n                    </Button>\n\n                  </Tooltip>\n\n                  <Tooltip title=\"Change Avatar\">\n                    <Button className=\"dropdownLastItem\" onClick={handleDropdownClick}>\n                      {genderName === \"none\" ? \"Model Voice\" : gender === \"Female\" ? genderName : 'Male01'}\n                    </Button>\n                  </Tooltip>\n\n\n                </Space.Compact>\n\n\n              </Dropdown> */}\n\n              <Dropdown.Button\n                menu={{ items: itemsAvatar }}\n                placement=\"bottom\"\n                trigger={[\"click\"]}\n                overlayClassName='custom-dropdown'\n                buttonsRender={([leftButton, rightButton]) => [\n                  <Tooltip>\n                    <Button\n                      style={{\n                        display: 'flex',\n                        alignItems: 'center',\n                      }}\n                      onClick={handleIconClick}\n                      icon={\n                        <PlayIcon\n                          style={{\n                            fontSize: '1.7em',\n                          }}\n\n                          type=\"icon-audioPlay\"\n                        />\n                      }\n                    >\n                      {genderName === \"none\" ? \"Model Voice\" : gender === \"Female\" ? genderName : 'Male01'}\n\n                    </Button>\n\n                  </Tooltip>\n\n                  //   <Space.Compact block className='dropdownButton'>\n                  //   <Tooltip title=\"Play Audio\">\n                  //     <Button icon={\n                  //       <PlayIcon\n                  //         style={{\n                  //           fontSize: '1.7em',\n                  //         }}\n                  //         onClick={handleIconClick}\n                  //         type=\"icon-audioPlay\"\n                  //          />\n                  //     }\n                  //       className=\"dropdownIcon\"\n                  //     >\n\n                  //     </Button>\n\n                  //   </Tooltip>\n\n                  //   <Tooltip title=\"Change Avatar\">\n                  //     <Button className=\"dropdownLastItem\" onClick={handleDropdownClick}>\n                  //       {genderName === \"none\" ? \"Model Voice\" : gender === \"Female\" ? genderName : 'Male01'}\n                  //     </Button>\n                  //   </Tooltip>\n\n\n                  // </Space.Compact>\n\n                  ,\n\n                  React.cloneElement(rightButton as React.ReactElement<any, string>, { loading: false }),\n\n                ]}\n              // open={showDropdown}\n              >\n\n              </Dropdown.Button>\n\n            </Space>\n            <br />\n          </Flex>\n\n        </div>)\n      case 'Other':\n        return <p>other</p>;\n      default:\n        return null;\n    }\n  };\n\n\n  const menuClicked: MenuProps['onClick'] = (e) => {\n    console.log(e.key);\n    setMenuKey(e.key);\n  };\n\n  const exerciseMenu = (\n    <Menu className=\"exercise-menu\">\n      {/* <Menu.Item onClick={menuClicked} key=\"3\">\n        <Link to=\"/pitch\">PITCH</Link>\n      </Menu.Item>\n      <Menu.Item onClick={menuClicked} key=\"5\">\n        <Link to=\"/volume\">VOLUME</Link>\n      </Menu.Item> */}\n      <Menu.Item onClick={menuClicked} key=\"8\">\n        <Link to=\"/resonance\">RESONANCE</Link>\n      </Menu.Item>\n      <Menu.Item onClick={menuClicked} key=\"9\">\n        <Link to=\"https://ceas5.uc.edu/transvoice/\">PITCH TOOLS</Link>\n      </Menu.Item>\n    </Menu>\n  );\n\n  const itemsMenu = [\n    {\n      label: 'Profile',\n      key: 'Profile',\n    },\n    {\n      label: 'Settings',\n      key: 'Settings',\n    },\n    {\n      label: 'Other',\n      key: 'Other',\n    },\n  ];\n\n  return (\n    <div\n      className=\"LayoutBGP\"\n    >\n\n\n      <Layout style={{\n        ...(menuKey === '4'\n          ? {\n            backgroundImage: defaultBackColor_2,\n            backgroundColor: 'linear-gradient(to bottom, #d7d2e6, #c9d9f3)', width: '200vw', backgroundSize: '10rem', maxWidth: '100vw', flex: 1,\n\n          }\n          : { backgroundColor: 'transparent' }\n        ),\n\n        isolation: \"isolate\",\n        ...(menuKey === '6'\n          ? {\n            backgroundImage: defaultBackColor_2,\n            backgroundColor: 'linear-gradient(to bottom, #d7d2e6, #c9d9f3)', width: '100vw', backgroundSize: '10rem', height: \"1300px\"\n\n          }\n          : { backgroundColor: 'transparent' }\n        ),\n      }} className=\"layout\">\n        <Header style={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center', background: 'transparent' }}>\n          <div className=\"TVox\">\n            <img className=\"logoImg\" src={logoImage} alt=\"Logo\" />\n          </div>\n          <ConfigProvider\n            theme={{\n              token: {\n                borderRadius: 0,\n              },\n              components: {\n                Menu: {\n                  itemColor: \"rgb(78, 120, 195)\",\n                  horizontalItemSelectedBg: \"rgb(134, 120, 169)\",\n                  horizontalItemSelectedColor: \"white\",\n                },\n              },\n            }}\n          >\n            <Menu disabledOverflow={true} className=\"Menu\" theme=\"light\" mode=\"horizontal\" selectedKeys={[menuKey]}>\n              <Menu.Item key=\"4\" onClick={menuClicked} className=\"menu-item\">\n                <Link to=\"/\">HOME</Link>\n              </Menu.Item>\n              <Dropdown overlay={exerciseMenu} placement=\"bottom\">\n                <Menu.Item key=\"exercises\" className=\"menu-item\">\n                  EXERCISES\n                </Menu.Item>\n              </Dropdown>\n              {/* <Menu.Item key=\"6\" onClick={menuClicked} className=\"menu-item\">\n                <Link to=\"/assessment\">ASSESMENT</Link>\n              </Menu.Item> */}\n              {/* <Menu.Item key=\"2\" onClick={menuClicked} className=\"menu-item\">\n                <Link to=\"/Help\">HELP</Link>\n              </Menu.Item> */}\n              {/* <Menu.Item key=\"1\" onClick={menuClicked} className=\"menu-item\">\n                <Link to=\"/about\">CONTACT</Link>\n              </Menu.Item> */}\n            </Menu>\n          </ConfigProvider>\n          <div className=\"userIcon\">\n            <Button\n              shape=\"circle\"\n              type=\"default\"\n              icon={<UserOutlined />}\n              onClick={showModal} // Show modal on click\n            />\n          </div>\n        </Header>\n\n        <Content className=\"ContentMain\" style={{ display: 'flex', flexDirection: 'column', alignItems: 'center', marginTop: \"0rem\", width: \"100%\", background: 'transparent', overflow: 'hidden' }}>\n          <FreqProvider>\n            <Suspense fallback={<div>Loading...</div>}>\n              <Routes>\n                <Route path=\"/\" element={<Main goToSample={navigateToPitch} isModalOpen={isModalOpen} setIsModalOpen={setIsModalOpen} showModal={showModal} handleCancel={handleCancel} />} />\n                {/* ---------GAVT RELATED START--------*/}\n                <Route path=\"/resonance/practice\" element={<GavtPractice />} />\n                <Route path=\"/resonance\" element={<Gavt />} />\n                <Route path=\"/resonance/selection\" element={<GavtSelection />} />\n                <Route path=\"/resonance/calibrate\" element={<GavtCali />} />\n                <Route path=\"/resonance/tutorial\" element={<GavtTutorial />} />\n                {/* ---------GAVT RELATED END--------*/}\n                {/* <Route path=\"/about\" element={<About isModalOpen={isModalOpen} setIsModalOpen={setIsModalOpen} showModal={showModal} handleCancel={handleCancel} />} />\n                <Route path=\"/pitch\" element={<Sample \n                \n                  gender={gender}\n                  setGender={setGender}\n                  genderName={genderName}\n                  // audioPlayerNew={audioPlayerNew}\n                  audioKey={audioKey}\n                  audioSrc={audioSrc}\n                  fetchAudioData={fetchAudioData}\n                  handleIconClick={handleIconClick}\n                  itemsAvatar={itemsAvatar}\n                \n                \n                />} />\n                <Route path=\"/volume\" element={<SampleVolume />} />\n                <Route path=\"/assessment\" element={<Assessment isModalOpen={isModalOpen} setIsModalOpen={setIsModalOpen} showModal={showModal} handleCancel={handleCancel} />} />\n                <Route path=\"/Help\" element={<Help />} /> */}\n              </Routes>\n            </Suspense>\n          </FreqProvider>\n        </Content>\n\n\n\n        <Modal\n        title=\"Settings\"\n        open={isModalOpen}\n        className='AvatarModal'\n        onCancel={() => setIsModalOpen(false)}\n        footer={null}\n      >\n        <div style={{ textAlign: 'center' }}>\n          <Avatar size={64} icon={<UserOutlined />} />\n          <p>Name Name</p>\n\n          <Menu disabledOverflow={true}\n            onClick={onClickMenu}\n            style={{ justifyContent: \"center\" }}\n            mode=\"horizontal\"\n            selectedKeys={[selectedItem]}\n            items={itemsMenu} />\n          {renderContent()}\n\n          <Button onClick={handleCancel}>Close</Button>\n        </div>\n\n\n      </Modal>\n      {/* <ReactAudioPlayer\n        className=\"audio-player-hidden\"\n        src={audioSrc}\n        ref={audioPlayer}\n        key={audioKey}\n        onEnded={() => console.log('audio ended')}\n        onError={(e) => console.log('audio error', e)}\n      /> */}\n\n        <AudioPlayer    \n        autoPlayAfterSrcChange={false}\n        src={audioSrc} \n        ref={audioPlayerNew}\n        key={audioKey}\n        style={{display: 'none'}}\n        onEnded={() => console.log('audio ended')}\n        onError={(e) => console.log('audio error', e)}\n        />\n\n        <Footer style={{ textAlign: 'center', overflow: 'hidden', background: 'transparent', fontSize: '20px', position: 'relative', width: '100%', color: 'blue', padding: '25px' }}>\n          TruVox ©{new Date().getFullYear()} Created by the University of Cincinnati and New York University (PIs: Novak and McAllister)\n        </Footer>\n      </Layout>\n\n    </div>\n  );\n}\n\nexport default MainLayout;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,IAAI,EAAEC,QAAQ,QAAQ,OAAO,CAAC,CAAC;AACpE,SAASC,MAAM,EAAEC,IAAI,EAAEC,cAAc,EAAEC,MAAM,EAAUC,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAyBC,QAAQ,QAAQ,MAAM;AAC1H,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAAkCC,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAEC,WAAW,QAAQ,kBAAkB;AACzG;AACA;;AAEA,SAASC,YAAY,QAAQ,oBAAoB;AACjD,OAAOC,IAAI,MAAM,cAAc;AAC/B,OAAOC,aAAa,MAAM,sBAAsB;AAChD,OAAOC,YAAY,MAAM,qBAAqB;AAC9C,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,YAAY,MAAM,8BAA8B;;AAEvD;AACA;AACA;AACA,OAAOC,IAAI,MAAM,kBAAkB;AACnC,OAAOC,SAAS,MAAM,2CAA2C;AACjE,OAAO,sBAAsB;AAI7B,SAASC,IAAI,QAAQ,MAAM;AAE3B,SAASC,oBAAoB,QAAQ,mBAAmB;AAGxD,SAASC,OAAO,QAAQ,MAAM;AAC9B,OAAOC,WAAW,MAAM,uBAAuB;AAC/C,SAASC,eAAe,QAAQ,yBAAyB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAE1D,MAAMC,QAAQ,GAAGN,oBAAoB,CAAC;EACpCO,SAAS,EAAE;AACb,CAAC,CAAC;AAACC,EAAA,GAFGF,QAAQ;AASd,MAAMG,YAAyC,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAgB,CAAC,KAAK;EAChF,oBACEN,OAAA,CAACzB,MAAM;IACLgC,KAAK,EAAE;MACLC,OAAO,EAAE,MAAM;MACfC,UAAU,EAAE;IACd,CAAE;IACFC,SAAS,EAAC,cAAc;IACxBC,IAAI,eACFX,OAAA,CAACC,QAAQ;MACPM,KAAK,EAAE;QACLK,QAAQ,EAAE;MACZ,CAAE;MACFC,OAAO,EAAEP,eAAgB;MACzBQ,IAAI,EAAC;IAAgB;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACtB,CACF;IAAAC,QAAA,EAEAd;EAAK;IAAAU,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACA,CAAC;AAEb,CAAC;AAACE,GAAA,GArBIhB,YAAyC;AAuB/C,MAAM;EAAEiB,MAAM;EAAEC,OAAO;EAAEC;AAAO,CAAC,GAAGnD,MAAM;AAC1C,MAAMoD,gBAAgB,GAAG,8CAA8C;AACvE,MAAMC,kBAAkB,GAAG,qCAAqC;AAEhE,MAAMC,UAAU,GAAG;EACjB,EAAE,EAAE,MAAM;EACV,GAAG,EAAE;AACP,CAAC;AAED,MAAMC,YAAY,GAAG;EACnB,CAAC,EAAE,IAAI;EACP,CAAC,EAAE;AACL,CAAC;AAED,MAAMC,QAAQ,GAAG;EACf,EAAE,EAAE,MAAM;EACV,EAAE,EAAE;AACN,CAAC;;AAED;AACA,MAAMC,KAAK,gBAAG3D,IAAI,CAAA4D,GAAA,GAACA,CAAA,KAAM,MAAM,CAAC,eAAe,CAAC,CAAC;AAACC,GAAA,GAA5CF,KAAK;AACX,MAAMG,MAAM,gBAAG9D,IAAI,CAAA+D,GAAA,GAACA,CAAA,KAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAACC,GAAA,GAA9CF,MAAM;AACZ,MAAMG,YAAY,gBAAGjE,IAAI,CAAAkE,GAAA,GAACA,CAAA,KAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAACC,GAAA,GAA1DF,YAAY;AAClB,MAAMG,UAAU,gBAAGpE,IAAI,CAAAqE,GAAA,GAACA,CAAA,KAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAACC,IAAA,GAAtDF,UAAU;AAChB,MAAMG,IAAI,gBAAGvE,IAAI,CAAAwE,IAAA,GAACA,CAAA,KAAM,MAAM,CAAC,cAAc,CAAC,CAAC;AAACC,IAAA,GAA1CF,IAAI;AAEV,MAAMG,UAAU,GAAGA,CAAA,KAAM;EAAAC,EAAA;EACvB,MAAM;IACJC,MAAM;IACNC,SAAS;IACTC,UAAU;IACVC,cAAc;IACdC,QAAQ;IACRC,QAAQ;IACRC,cAAc;IACd9C,eAAe;IACf+C;EACF,CAAC,GAAGvD,eAAe,CAAC,CAAC;EAErB,MAAM,CAACwD,aAAa,EAAEC,gBAAgB,CAAC,GAAGvF,QAAQ,CAAS,CAAC,CAAC;EAE7D,MAAMwF,QAAQ,GAAGxE,WAAW,CAAC,CAAC;EAC9B,MAAMyE,QAAQ,GAAGxE,WAAW,CAAC,CAAC;EAC9B,MAAM,CAACyE,WAAW,EAAEC,cAAc,CAAC,GAAG3F,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAM,CAAC4F,WAAW,EAAEC,cAAc,CAAC,GAAG7F,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAM,CAAC8F,YAAY,EAAEC,eAAe,CAAC,GAAG/F,QAAQ,CAAC,UAAU,CAAC;EAC5D,MAAM,CAACgG,YAAY,EAAEC,eAAe,CAAC,GAAGjG,QAAQ,CAAC,IAAI,CAAC;EACtD,MAAM,CAACkG,SAAS,EAAEC,YAAY,CAAC,GAAGnG,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,CAACoG,OAAO,EAAEC,UAAU,CAAC,GAAGrG,QAAQ,CAAS,GAAG,CAAC;EACnD,MAAM,CAACsG,aAAa,EAAEC,gBAAgB,CAAC,GAAGvG,QAAQ,CAASwD,gBAAgB,CAAC;EAG5EvD,SAAS,CAAC,MAAM;IACdmF,cAAc,CAAC,CAAC;EAClB,CAAC,EAAE,CAACJ,UAAU,CAAC,CAAC;EAGhB/E,SAAS,CAAC,MAAM;IACd,QAAQmG,OAAO;MACb,KAAK,GAAG;QACNG,gBAAgB,CAAC9C,kBAAkB,CAAC;QACpC;MACF,KAAK,GAAG;QACN8C,gBAAgB,CAAC9C,kBAAkB,CAAC;QACpC;MACF,KAAK,GAAG;QACN8C,gBAAgB,CAAC/C,gBAAgB,CAAC;QAClC;MACF;QACE+C,gBAAgB,CAAC,aAAa,CAAC;IACnC;IAEAC,MAAM,CAACC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;EACvB,CAAC,EAAE,CAACL,OAAO,CAAC,CAAC;EAEbnG,SAAS,CAAC,MAAM;IACd,MAAMyG,MAAM,GAAGlB,QAAQ,CAACmB,QAAQ;IAChC,QAAQD,MAAM;MACZ,KAAK,WAAW;QACdL,UAAU,CAAC,GAAG,CAAC;QACf;MACF,KAAK,OAAO;QACVA,UAAU,CAAC,GAAG,CAAC;QACf;MACF,KAAK,QAAQ;QACXA,UAAU,CAAC,GAAG,CAAC;QACf;MACF,KAAK,SAAS;QACZA,UAAU,CAAC,GAAG,CAAC;QACf;MACF,KAAKK,MAAM,CAACE,UAAU,CAAC,YAAY,CAAC,GAAGF,MAAM,GAAGG,SAAS;QACvDR,UAAU,CAAC,GAAG,CAAC;QACf;MACF,KAAK,aAAa;QAChBA,UAAU,CAAC,GAAG,CAAC;QACf;MACF,KAAK,QAAQ;QACXA,UAAU,CAAC,GAAG,CAAC;QACf;MACF,KAAK,OAAO;QACVA,UAAU,CAAC,GAAG,CAAC;QACf;MACF;QACEA,UAAU,CAAC,GAAG,CAAC;IACnB;EACF,CAAC,EAAE,CAACb,QAAQ,CAACmB,QAAQ,CAAC,CAAC;EAEvB,MAAMG,eAAe,GAAGA,CAAA,KAAM;IAC5BT,UAAU,CAAC,GAAG,CAAC;IACfZ,QAAQ,CAAC,QAAQ,CAAC;EACpB,CAAC;EAED,MAAMsB,SAAS,GAAGA,CAAA,KAAM;IACtBpB,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC;EAED,MAAMqB,YAAY,GAAGA,CAAA,KAAM;IACzBrB,cAAc,CAAC,KAAK,CAAC;EACvB,CAAC;EAED,MAAMsB,UAAU,GAAGA,CAAA,KAAM;IACvBpB,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC;EAED,MAAMqB,WAAW,GAAGA,CAAA,KAAM;IACxBrB,cAAc,CAAC,KAAK,CAAC;EACvB,CAAC;EAED,MAAMsB,WAAW,GAAIC,CAAM,IAAK;IAC9BrB,eAAe,CAACqB,CAAC,CAACC,GAAG,CAAC;EACxB,CAAC;EAED,MAAMC,UAAU,GAAGA,CAAC;IAAEC,MAAM,EAAE;MAAEC;IAAM;EAAO,CAAC,KAAK;IACjDvB,eAAe,CAACuB,KAAK,KAAK,IAAI,CAAC;EACjC,CAAC;EAED,MAAMC,aAAa,GAAIC,UAAoB,IAAK;IAC9C;EAAA,CACD;EAED,MAAMC,gBAAgB,GAAIC,aAAqB,IAAK;IAClD;EAAA,CACD;EAED,MAAMC,aAAa,GAAIC,UAAkB,IAAK;IAC5C;EAAA,CACD;EAED,MAAMC,gBAAgB,GAAIX,CAAU,IAAK;IACvCjB,YAAY,CAACiB,CAAC,CAAC;EACjB,CAAC;EAED,MAAMY,iBAAiB,GAAIZ,CAAS,IAAK;IACvC;EAAA,CACD;EAED,MAAMa,WAAW,GAAIT,KAAyB,IAAM,GAAEA,KAAM,KAAI;EAChE,MAAMU,WAAW,GAAIV,KAAyB,IAAM,GAAEA,KAAM,KAAI;EAChE,MAAMW,YAAY,GAAIX,KAAyB,IAAM,GAAEA,KAAK,GAAG,CAACA,KAAK,GAAG,GAAG,EAAEY,OAAO,CAAC,CAAC,CAAC,GAAG,GAAI,GAAE;;EAEhG;EACA,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC1B,QAAQvC,YAAY;MAClB,KAAK,SAAS;QACZ,oBAAO9D,OAAA;UAAAmB,QAAA,EAAG;QAAO;UAAAJ,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAG,CAAC;MACvB,KAAK,UAAU;QACb,oBAAQlB,OAAA;UAAAmB,QAAA,eACNnB,OAAA,CAACN,IAAI;YAAC4G,QAAQ;YAACC,GAAG,EAAC,QAAQ;YAAApF,QAAA,gBACzBnB,OAAA,CAACtB,KAAK;cAAAyC,QAAA,gBACJnB,OAAA;gBAAAmB,QAAA,EAAG;cAAmB;gBAAAJ,QAAA,EAAAC,YAAA;gBAAAC,UAAA;gBAAAC,YAAA;cAAA,OAAG,CAAC,eAwC1BlB,OAAA,CAACrB,QAAQ,CAACJ,MAAM;gBACdiI,IAAI,EAAE;kBAAEC,KAAK,EAAEpD;gBAAY,CAAE;gBAC7BqD,SAAS,EAAC,QAAQ;gBAClBC,OAAO,EAAE,CAAC,OAAO,CAAE;gBACnBC,gBAAgB,EAAC,iBAAiB;gBAClCC,aAAa,EAAEA,CAAC,CAACC,UAAU,EAAEC,WAAW,CAAC,KAAK,cAC5C/G,OAAA,CAACJ,OAAO;kBAAAuB,QAAA,eACNnB,OAAA,CAACzB,MAAM;oBACLgC,KAAK,EAAE;sBACLC,OAAO,EAAE,MAAM;sBACfC,UAAU,EAAE;oBACd,CAAE;oBACFI,OAAO,EAAEP,eAAgB;oBACzBK,IAAI,eACFX,OAAA,CAACC,QAAQ;sBACPM,KAAK,EAAE;wBACLK,QAAQ,EAAE;sBACZ,CAAE;sBAEFE,IAAI,EAAC;oBAAgB;sBAAAC,QAAA,EAAAC,YAAA;sBAAAC,UAAA;sBAAAC,YAAA;oBAAA,OACtB,CACF;oBAAAC,QAAA,EAEA6B,UAAU,KAAK,MAAM,GAAG,aAAa,GAAGF,MAAM,KAAK,QAAQ,GAAGE,UAAU,GAAG;kBAAQ;oBAAAjC,QAAA,EAAAC,YAAA;oBAAAC,UAAA;oBAAAC,YAAA;kBAAA,OAE9E;gBAAC;kBAAAH,QAAA,EAAAC,YAAA;kBAAAC,UAAA;kBAAAC,YAAA;gBAAA,OAEF;;gBAET;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;gBACA;;gBAEA;;gBAEA;;gBAEA;gBACA;gBACA;gBACA;gBACA;;gBAGA;gBAAA,eAIAnD,KAAK,CAACiJ,YAAY,CAACD,WAAW,EAAqC;kBAAEE,OAAO,EAAE;gBAAM,CAAC,CAAC;gBAG1F;cAAA;gBAAAlG,QAAA,EAAAC,YAAA;gBAAAC,UAAA;gBAAAC,YAAA;cAAA,OAGiB,CAAC;YAAA;cAAAH,QAAA,EAAAC,YAAA;cAAAC,UAAA;cAAAC,YAAA;YAAA,OAEb,CAAC,eACRlB,OAAA;cAAAe,QAAA,EAAAC,YAAA;cAAAC,UAAA;cAAAC,YAAA;YAAA,OAAK,CAAC;UAAA;YAAAH,QAAA,EAAAC,YAAA;YAAAC,UAAA;YAAAC,YAAA;UAAA,OACF;QAAC;UAAAH,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAEJ,CAAC;MACR,KAAK,OAAO;QACV,oBAAOlB,OAAA;UAAAmB,QAAA,EAAG;QAAK;UAAAJ,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAG,CAAC;MACrB;QACE,OAAO,IAAI;IACf;EACF,CAAC;EAGD,MAAMgG,WAAiC,GAAI9B,CAAC,IAAK;IAC/C+B,OAAO,CAACC,GAAG,CAAChC,CAAC,CAACC,GAAG,CAAC;IAClBhB,UAAU,CAACe,CAAC,CAACC,GAAG,CAAC;EACnB,CAAC;EAED,MAAMgC,YAAY,gBAChBrH,OAAA,CAAC3B,IAAI;IAACqC,SAAS,EAAC,eAAe;IAAAS,QAAA,gBAO7BnB,OAAA,CAAC3B,IAAI,CAACiJ,IAAI;MAACzG,OAAO,EAAEqG,WAAY;MAAA/F,QAAA,eAC9BnB,OAAA,CAACjB,IAAI;QAACwI,EAAE,EAAC,YAAY;QAAApG,QAAA,EAAC;MAAS;QAAAJ,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAM;IAAC,GADH,GAAG;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAE7B,CAAC,eACZlB,OAAA,CAAC3B,IAAI,CAACiJ,IAAI;MAACzG,OAAO,EAAEqG,WAAY;MAAA/F,QAAA,eAC9BnB,OAAA,CAACjB,IAAI;QAACwI,EAAE,EAAC,kCAAkC;QAAApG,QAAA,EAAC;MAAW;QAAAJ,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAM;IAAC,GAD3B,GAAG;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAE7B,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACR,CACP;EAED,MAAMsG,SAAS,GAAG,CAChB;IACEnH,KAAK,EAAE,SAAS;IAChBgF,GAAG,EAAE;EACP,CAAC,EACD;IACEhF,KAAK,EAAE,UAAU;IACjBgF,GAAG,EAAE;EACP,CAAC,EACD;IACEhF,KAAK,EAAE,OAAO;IACdgF,GAAG,EAAE;EACP,CAAC,CACF;EAED,oBACErF,OAAA;IACEU,SAAS,EAAC,WAAW;IAAAS,QAAA,eAIrBnB,OAAA,CAAC5B,MAAM;MAACmC,KAAK,EAAE;QACb,IAAI6D,OAAO,KAAK,GAAG,GACf;UACAqD,eAAe,EAAEhG,kBAAkB;UACnCiG,eAAe,EAAE,8CAA8C;UAAEC,KAAK,EAAE,OAAO;UAAEC,cAAc,EAAE,OAAO;UAAEC,QAAQ,EAAE,OAAO;UAAEC,IAAI,EAAE;QAErI,CAAC,GACC;UAAEJ,eAAe,EAAE;QAAc,CAAC,CACrC;QAEDK,SAAS,EAAE,SAAS;QACpB,IAAI3D,OAAO,KAAK,GAAG,GACf;UACAqD,eAAe,EAAEhG,kBAAkB;UACnCiG,eAAe,EAAE,8CAA8C;UAAEC,KAAK,EAAE,OAAO;UAAEC,cAAc,EAAE,OAAO;UAAEI,MAAM,EAAE;QAEpH,CAAC,GACC;UAAEN,eAAe,EAAE;QAAc,CAAC;MAExC,CAAE;MAAChH,SAAS,EAAC,QAAQ;MAAAS,QAAA,gBACnBnB,OAAA,CAACqB,MAAM;QAACd,KAAK,EAAE;UAAEC,OAAO,EAAE,MAAM;UAAEyH,cAAc,EAAE,UAAU;UAAExH,UAAU,EAAE,QAAQ;UAAEyH,UAAU,EAAE;QAAc,CAAE;QAAA/G,QAAA,gBAC9GnB,OAAA;UAAKU,SAAS,EAAC,MAAM;UAAAS,QAAA,eACnBnB,OAAA;YAAKU,SAAS,EAAC,SAAS;YAACyH,GAAG,EAAE1I,SAAU;YAAC2I,GAAG,EAAC;UAAM;YAAArH,QAAA,EAAAC,YAAA;YAAAC,UAAA;YAAAC,YAAA;UAAA,OAAE;QAAC;UAAAH,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OACnD,CAAC,eACNlB,OAAA,CAAC1B,cAAc;UACb+J,KAAK,EAAE;YACLC,KAAK,EAAE;cACLC,YAAY,EAAE;YAChB,CAAC;YACDC,UAAU,EAAE;cACVnK,IAAI,EAAE;gBACJoK,SAAS,EAAE,mBAAmB;gBAC9BC,wBAAwB,EAAE,oBAAoB;gBAC9CC,2BAA2B,EAAE;cAC/B;YACF;UACF,CAAE;UAAAxH,QAAA,eAEFnB,OAAA,CAAC3B,IAAI;YAACuK,gBAAgB,EAAE,IAAK;YAAClI,SAAS,EAAC,MAAM;YAAC2H,KAAK,EAAC,OAAO;YAACQ,IAAI,EAAC,YAAY;YAACC,YAAY,EAAE,CAAC1E,OAAO,CAAE;YAAAjD,QAAA,gBACrGnB,OAAA,CAAC3B,IAAI,CAACiJ,IAAI;cAASzG,OAAO,EAAEqG,WAAY;cAACxG,SAAS,EAAC,WAAW;cAAAS,QAAA,eAC5DnB,OAAA,CAACjB,IAAI;gBAACwI,EAAE,EAAC,GAAG;gBAAApG,QAAA,EAAC;cAAI;gBAAAJ,QAAA,EAAAC,YAAA;gBAAAC,UAAA;gBAAAC,YAAA;cAAA,OAAM;YAAC,GADX,GAAG;cAAAH,QAAA,EAAAC,YAAA;cAAAC,UAAA;cAAAC,YAAA;YAAA,OAEP,CAAC,eACZlB,OAAA,CAACrB,QAAQ;cAACoK,OAAO,EAAE1B,YAAa;cAACX,SAAS,EAAC,QAAQ;cAAAvF,QAAA,eACjDnB,OAAA,CAAC3B,IAAI,CAACiJ,IAAI;gBAAiB5G,SAAS,EAAC,WAAW;gBAAAS,QAAA,EAAC;cAEjD,GAFe,WAAW;gBAAAJ,QAAA,EAAAC,YAAA;gBAAAC,UAAA;gBAAAC,YAAA;cAAA,OAEf;YAAC;cAAAH,QAAA,EAAAC,YAAA;cAAAC,UAAA;cAAAC,YAAA;YAAA,OACJ,CAAC;UAAA;YAAAH,QAAA,EAAAC,YAAA;YAAAC,UAAA;YAAAC,YAAA;UAAA,OAUP;QAAC;UAAAH,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OACO,CAAC,eACjBlB,OAAA;UAAKU,SAAS,EAAC,UAAU;UAAAS,QAAA,eACvBnB,OAAA,CAACzB,MAAM;YACLyK,KAAK,EAAC,QAAQ;YACdlI,IAAI,EAAC,SAAS;YACdH,IAAI,eAAEX,OAAA,CAACpB,YAAY;cAAAmC,QAAA,EAAAC,YAAA;cAAAC,UAAA;cAAAC,YAAA;YAAA,OAAE,CAAE;YACvBL,OAAO,EAAEkE,SAAU,CAAC;UAAA;YAAAhE,QAAA,EAAAC,YAAA;YAAAC,UAAA;YAAAC,YAAA;UAAA,OACrB;QAAC;UAAAH,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OACC,CAAC;MAAA;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACA,CAAC,eAETlB,OAAA,CAACsB,OAAO;QAACZ,SAAS,EAAC,aAAa;QAACH,KAAK,EAAE;UAAEC,OAAO,EAAE,MAAM;UAAEyI,aAAa,EAAE,QAAQ;UAAExI,UAAU,EAAE,QAAQ;UAAEyI,SAAS,EAAE,MAAM;UAAEvB,KAAK,EAAE,MAAM;UAAEO,UAAU,EAAE,aAAa;UAAEiB,QAAQ,EAAE;QAAS,CAAE;QAAAhI,QAAA,eAC1LnB,OAAA,CAACd,YAAY;UAAAiC,QAAA,eACXnB,OAAA,CAAC7B,QAAQ;YAACiL,QAAQ,eAAEpJ,OAAA;cAAAmB,QAAA,EAAK;YAAU;cAAAJ,QAAA,EAAAC,YAAA;cAAAC,UAAA;cAAAC,YAAA;YAAA,OAAK,CAAE;YAAAC,QAAA,eACxCnB,OAAA,CAACnB,MAAM;cAAAsC,QAAA,gBACLnB,OAAA,CAAClB,KAAK;gBAACuK,IAAI,EAAC,GAAG;gBAACC,OAAO,eAAEtJ,OAAA,CAACR,IAAI;kBAAC+J,UAAU,EAAEzE,eAAgB;kBAACpB,WAAW,EAAEA,WAAY;kBAACC,cAAc,EAAEA,cAAe;kBAACoB,SAAS,EAAEA,SAAU;kBAACC,YAAY,EAAEA;gBAAa;kBAAAjE,QAAA,EAAAC,YAAA;kBAAAC,UAAA;kBAAAC,YAAA;gBAAA,OAAE;cAAE;gBAAAH,QAAA,EAAAC,YAAA;gBAAAC,UAAA;gBAAAC,YAAA;cAAA,OAAE,CAAC,eAE9KlB,OAAA,CAAClB,KAAK;gBAACuK,IAAI,EAAC,qBAAqB;gBAACC,OAAO,eAAEtJ,OAAA,CAACX,YAAY;kBAAA0B,QAAA,EAAAC,YAAA;kBAAAC,UAAA;kBAAAC,YAAA;gBAAA,OAAE;cAAE;gBAAAH,QAAA,EAAAC,YAAA;gBAAAC,UAAA;gBAAAC,YAAA;cAAA,OAAE,CAAC,eAC/DlB,OAAA,CAAClB,KAAK;gBAACuK,IAAI,EAAC,YAAY;gBAACC,OAAO,eAAEtJ,OAAA,CAACb,IAAI;kBAAA4B,QAAA,EAAAC,YAAA;kBAAAC,UAAA;kBAAAC,YAAA;gBAAA,OAAE;cAAE;gBAAAH,QAAA,EAAAC,YAAA;gBAAAC,UAAA;gBAAAC,YAAA;cAAA,OAAE,CAAC,eAC9ClB,OAAA,CAAClB,KAAK;gBAACuK,IAAI,EAAC,sBAAsB;gBAACC,OAAO,eAAEtJ,OAAA,CAACZ,aAAa;kBAAA2B,QAAA,EAAAC,YAAA;kBAAAC,UAAA;kBAAAC,YAAA;gBAAA,OAAE;cAAE;gBAAAH,QAAA,EAAAC,YAAA;gBAAAC,UAAA;gBAAAC,YAAA;cAAA,OAAE,CAAC,eACjElB,OAAA,CAAClB,KAAK;gBAACuK,IAAI,EAAC,sBAAsB;gBAACC,OAAO,eAAEtJ,OAAA,CAACV,QAAQ;kBAAAyB,QAAA,EAAAC,YAAA;kBAAAC,UAAA;kBAAAC,YAAA;gBAAA,OAAE;cAAE;gBAAAH,QAAA,EAAAC,YAAA;gBAAAC,UAAA;gBAAAC,YAAA;cAAA,OAAE,CAAC,eAC5DlB,OAAA,CAAClB,KAAK;gBAACuK,IAAI,EAAC,qBAAqB;gBAACC,OAAO,eAAEtJ,OAAA,CAACT,YAAY;kBAAAwB,QAAA,EAAAC,YAAA;kBAAAC,UAAA;kBAAAC,YAAA;gBAAA,OAAE;cAAE;gBAAAH,QAAA,EAAAC,YAAA;gBAAAC,UAAA;gBAAAC,YAAA;cAAA,OAAE,CAAC;YAAA;cAAAH,QAAA,EAAAC,YAAA;cAAAC,UAAA;cAAAC,YAAA;YAAA,OAoBzD;UAAC;YAAAH,QAAA,EAAAC,YAAA;YAAAC,UAAA;YAAAC,YAAA;UAAA,OACD;QAAC;UAAAH,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OACC;MAAC;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACR,CAAC,eAIVlB,OAAA,CAACvB,KAAK;QACN+K,KAAK,EAAC,UAAU;QAChBC,IAAI,EAAE/F,WAAY;QAClBhD,SAAS,EAAC,aAAa;QACvBgJ,QAAQ,EAAEA,CAAA,KAAM/F,cAAc,CAAC,KAAK,CAAE;QACtCgG,MAAM,EAAE,IAAK;QAAAxI,QAAA,eAEbnB,OAAA;UAAKO,KAAK,EAAE;YAAEqJ,SAAS,EAAE;UAAS,CAAE;UAAAzI,QAAA,gBAClCnB,OAAA,CAACxB,MAAM;YAACqL,IAAI,EAAE,EAAG;YAAClJ,IAAI,eAAEX,OAAA,CAACpB,YAAY;cAAAmC,QAAA,EAAAC,YAAA;cAAAC,UAAA;cAAAC,YAAA;YAAA,OAAE;UAAE;YAAAH,QAAA,EAAAC,YAAA;YAAAC,UAAA;YAAAC,YAAA;UAAA,OAAE,CAAC,eAC5ClB,OAAA;YAAAmB,QAAA,EAAG;UAAS;YAAAJ,QAAA,EAAAC,YAAA;YAAAC,UAAA;YAAAC,YAAA;UAAA,OAAG,CAAC,eAEhBlB,OAAA,CAAC3B,IAAI;YAACuK,gBAAgB,EAAE,IAAK;YAC3B/H,OAAO,EAAEsE,WAAY;YACrB5E,KAAK,EAAE;cAAE0H,cAAc,EAAE;YAAS,CAAE;YACpCY,IAAI,EAAC,YAAY;YACjBC,YAAY,EAAE,CAAChF,YAAY,CAAE;YAC7B2C,KAAK,EAAEe;UAAU;YAAAzG,QAAA,EAAAC,YAAA;YAAAC,UAAA;YAAAC,YAAA;UAAA,OAAE,CAAC,EACrBmF,aAAa,CAAC,CAAC,eAEhBrG,OAAA,CAACzB,MAAM;YAACsC,OAAO,EAAEmE,YAAa;YAAA7D,QAAA,EAAC;UAAK;YAAAJ,QAAA,EAAAC,YAAA;YAAAC,UAAA;YAAAC,YAAA;UAAA,OAAQ,CAAC;QAAA;UAAAH,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAC1C;MAAC;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAGD,CAAC,eAUNlB,OAAA,CAACH,WAAW;QACZiK,sBAAsB,EAAE,KAAM;QAC9B3B,GAAG,EAAEhF,QAAS;QACd4G,GAAG,EAAE9G,cAAe;QAEpB1C,KAAK,EAAE;UAACC,OAAO,EAAE;QAAM,CAAE;QACzBwJ,OAAO,EAAEA,CAAA,KAAM7C,OAAO,CAACC,GAAG,CAAC,aAAa,CAAE;QAC1C6C,OAAO,EAAG7E,CAAC,IAAK+B,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEhC,CAAC;MAAE,GAHzClC,QAAQ;QAAAnC,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAIZ,CAAC,eAEFlB,OAAA,CAACuB,MAAM;QAAChB,KAAK,EAAE;UAAEqJ,SAAS,EAAE,QAAQ;UAAET,QAAQ,EAAE,QAAQ;UAAEjB,UAAU,EAAE,aAAa;UAAEtH,QAAQ,EAAE,MAAM;UAAEsJ,QAAQ,EAAE,UAAU;UAAEvC,KAAK,EAAE,MAAM;UAAEwC,KAAK,EAAE,MAAM;UAAEC,OAAO,EAAE;QAAO,CAAE;QAAAjJ,QAAA,GAAC,aACpK,EAAC,IAAIkJ,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,EAAC,8FACpC;MAAA;QAAAvJ,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAQ,CAAC;IAAA;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACH;EAAC;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAEN,CAAC;AAEV,CAAC;AAAA2B,EAAA,CA5cKD,UAAU;EAAA,QAWV9C,eAAe,EAIFd,WAAW,EACXC,WAAW;AAAA;AAAAsL,IAAA,GAhBxB3H,UAAU;AA8chB,eAAeA,UAAU;AAAC,IAAAzC,EAAA,EAAAiB,GAAA,EAAAU,GAAA,EAAAC,GAAA,EAAAE,GAAA,EAAAC,GAAA,EAAAE,GAAA,EAAAC,GAAA,EAAAE,GAAA,EAAAC,IAAA,EAAAE,IAAA,EAAAC,IAAA,EAAA4H,IAAA;AAAAC,YAAA,CAAArK,EAAA;AAAAqK,YAAA,CAAApJ,GAAA;AAAAoJ,YAAA,CAAA1I,GAAA;AAAA0I,YAAA,CAAAzI,GAAA;AAAAyI,YAAA,CAAAvI,GAAA;AAAAuI,YAAA,CAAAtI,GAAA;AAAAsI,YAAA,CAAApI,GAAA;AAAAoI,YAAA,CAAAnI,GAAA;AAAAmI,YAAA,CAAAjI,GAAA;AAAAiI,YAAA,CAAAhI,IAAA;AAAAgI,YAAA,CAAA9H,IAAA;AAAA8H,YAAA,CAAA7H,IAAA;AAAA6H,YAAA,CAAAD,IAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}