@glodon-aiot/react-components 3.9.0-alpha.7 → 3.9.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aiot-react-components.js +20191 -0
- package/dist/aiot-react-components.umd.cjs +183 -0
- package/dist/es/components/Markdown/index.mjs +33 -34
- package/dist/es/index.mjs +1 -1
- package/dist/lib/index.js +1 -1
- package/dist/src/components/DocumentViewer/components/DownloadButton.d.ts +7 -0
- package/dist/src/components/DocumentViewer/components/ErrorAlert.d.ts +10 -0
- package/dist/src/components/DocumentViewer/components/FileRenderers.d.ts +23 -0
- package/dist/src/components/DocumentViewer/components/MediaRenderers.d.ts +9 -0
- package/dist/src/components/DocumentViewer/components/PdfRenderer.d.ts +11 -0
- package/dist/src/components/DocumentViewer/components/ZipRenderer.d.ts +22 -0
- package/dist/src/components/DocumentViewer/components/index.d.ts +9 -0
- package/dist/src/components/DocumentViewer/constants.d.ts +21 -0
- package/dist/src/components/DocumentViewer/hooks/index.d.ts +5 -0
- package/dist/src/components/DocumentViewer/hooks/usePdfViewer.d.ts +7 -0
- package/dist/src/components/DocumentViewer/hooks/useZipViewer.d.ts +21 -0
- package/dist/src/components/DocumentViewer/index.d.ts +11 -0
- package/dist/src/components/DocumentViewer/utils.d.ts +18 -0
- package/dist/src/utils/file.d.ts +16 -0
- package/dist/style.css +1 -0
- package/package.json +1 -1
package/dist/lib/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode('.storybook-button{font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;border:0;border-radius:3em;cursor:pointer;display:inline-block;line-height:1}.storybook-button--primary{color:#fff;background-color:#027bf4}.storybook-button--secondary{color:#333;background-color:transparent;box-shadow:#00000026 0 0 0 1px inset}.storybook-button--small{font-size:12px;padding:10px 16px}.storybook-button--medium{font-size:14px;padding:11px 20px}.storybook-button--large{font-size:16px;padding:12px 24px}.markdown{word-break:break-all}.markdown :last-child{margin-bottom:0}.markdown div,.markdown hr,.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6,.markdown p,.markdown table,.markdown code,.markdown img,.markdown address,.markdown blockquote,.markdown dir,.markdown menu,.markdown pre,.markdown ul,.markdown ol,.markdown li,.markdown dl{margin-bottom:12px;line-height:150%;white-space:pre-wrap}.markdown div:last-child,.markdown hr:last-child,.markdown h1:last-child,.markdown h2:last-child,.markdown h3:last-child,.markdown h4:last-child,.markdown h5:last-child,.markdown h6:last-child,.markdown p:last-child,.markdown table:last-child,.markdown code:last-child,.markdown img:last-child,.markdown address:last-child,.markdown blockquote:last-child,.markdown dir:last-child,.markdown menu:last-child,.markdown pre:last-child,.markdown ul:last-child,.markdown ol:last-child,.markdown li:last-child,.markdown dl:last-child{margin-bottom:0}.markdown ul,.markdown ol{padding-inline-start:20px}.markdown ul{list-style-type:disc}.markdown ol{list-style-type:decimal}.markdown ul,.markdown li{white-space:normal;margin-bottom:8px}.markdown table{display:block;border-collapse:collapse;border-radius:4px;max-width:100%;overflow:auto;width:max-content}.markdown td,.markdown th{border:1px solid #e8e9eb;padding:6px 13px;text-align:left}.markdown tr{color:#151b26;background-color:#fff}.markdown th{background-color:#f9f2ff;color:#000}.markdown tr:hover td{background-color:#fff}.markdown p code{background:#f9f2ff;border-radius:4px;padding:4px;display:inline;font-size:12px;color:#070c14}.markdown .markdown-code-title{margin:0;padding:0 16px;height:36px;border-radius:8px 8px 0 0;background:#f9f2ff;display:flex;align-items:center;justify-content:space-between;line-height:21px;font-weight:500;color:#070c14}.markdown .markdown-code-context{padding:16px;background:rgba(249,242,255,.3)!important;margin:0!important;border-radius:0 0 8px 8px}.markdown .markdown-code-context code{margin:0;font-size:85%;background:none;font-size:14px}.markdown .markdown-code-context code>span{flex-wrap:wrap}.markdown p{white-space:pre-line}.markdown pre code.hljs{display:block;overflow-x:auto;padding:1em}.markdown p{line-height:150%;height:auto!important}.markdown img{max-width:100%}.markdown a,.markdown a:hover{color:#0f64ff}.markdown code.hljs{padding:3px 5px}.markdown .hljs{background:rgba(249,242,255,.3);color:#000}.markdown .hljs-comment{color:#697070}.markdown .hljs-tag,.markdown .hljs-punctuation{color:#000a}.markdown .hljs-tag .hljs-name,.markdown .hljs-tag .hljs-attr{color:#000}.markdown .hljs-keyword,.markdown .hljs-attribute,.markdown .hljs-selector-tag,.markdown .hljs-meta .hljs-keyword,.markdown .hljs-doctag,.markdown .hljs-name{font-weight:700}.markdown .hljs-type,.markdown .hljs-string,.markdown .hljs-number,.markdown .hljs-selector-id,.markdown .hljs-selector-class,.markdown .hljs-quote,.markdown .hljs-template-tag,.markdown .hljs-deletion{color:#800}.markdown .hljs-title,.markdown .hljs-section{color:#800;font-weight:700}.markdown .hljs-regexp,.markdown .hljs-symbol,.markdown .hljs-variable,.markdown .hljs-template-variable,.markdown .hljs-link,.markdown .hljs-selector-attr,.markdown .hljs-operator,.markdown .hljs-selector-pseudo{color:#ab5656}.markdown .hljs-literal{color:#695}.markdown .hljs-built_in,.markdown .hljs-bullet,.markdown .hljs-code,.markdown .hljs-addition{color:#397300}.markdown .hljs-meta{color:#1f7199}.markdown .hljs-meta .hljs-string{color:#38a}.markdown .hljs-emphasis{font-style:italic}.markdown .hljs-strong{font-weight:700}.markdown .ant-image{margin-bottom:6px!important}.markdown .ant-image .ant-image-img{margin-bottom:0!important}.copy-btn{font-size:16px;cursor:pointer}.copy-btn:hover{color:#b452ff}.g-expandable-pannel-wrap{inset:0;z-index:999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar{position:absolute;right:0;top:0;background-color:#222836;z-index:9999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.collapsed{position:absolute;top:0;right:0;z-index:9;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned{padding:0}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned .g-icon-btn{background-color:#0000}.g-expandable-pannel-wrap .g-expandable-pannel{width:100%;height:100%;border:.5px solid #313A4D}.g-expandable-pannel-wrap .g-expandable-pannel-header{position:absolute;right:0;top:0;z-index:9;padding-right:28px;height:28px;display:flex;flex-direction:row-reverse}.g-expandable-pannel-wrap .g-expandable-pannel-body{opacity:.85;width:100%;height:100%}.g-expandable-pannel-wrap .g-expandable-pannel-body .icon{width:16px;height:16px}.g-expandable-pannel-wrap .g-expandable-pannel.full{width:100%!important;height:100%!important;inset:0 55px;z-index:9}.g-expandable-pannel-wrap .g-expandable-pannel.hidden{inset:0 -20000px}.g-expandable-pannel-wrap .g-expandable-pannel.hidden+.bar-btn{position:absolute;right:0!important;background:rgba(58,63,76,.5);border-radius:20px 0 0 20px}.g-expandable-pannel-wrap .g-expandable-pannel.normal{height:250px;overflow:hidden;padding:0}.g-expandable-pannel-wrap .g-expandable-pannel.full+.bar-btn{top:0;right:55px;z-index:99}.g-expandable-pannel-wrap .g-expandable-pannel.full~.cover{display:block;position:absolute;width:100vw;height:100vh;top:0;left:0;background:#00000066}.g-expandable-pannel-wrap .g-expandable-pannel.hiddern~.cover{display:none}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel{width:134px;background:#ffffff;border:1px solid #ececec;box-shadow:2px 2px 6px #c0c0c040;border-radius:4px;padding:6px 12px}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row{width:100%;display:flex;height:32px;align-items:center}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row img{width:16px;height:16px;margin:0 8px}.g-expandable-pannel-wrap .g-expandable-pannel .status{display:block}.g-expandable-pannel-wrap .g-expandable-pannel .status.success:before{display:inline-block;content:"";width:12px;height:12px;background-color:#52c41a}.g-expandable-pannel-wrap .g-expandable-pannel .status.error:before{display:inline-block;content:"";width:12px;height:12px;background-color:#ff4d4f}.g-expandable-pannel-wrap .g-expandable-pannel .pass-confirm-wrap{position:absolute}.g-icon-btn{height:28px;width:28px;line-height:28px;background-color:#222836;color:#b8c1d0;cursor:pointer;text-align:center;padding:0;border:none;font-size:16px;display:block}.g-icon-btn:hover{color:#fff;background:linear-gradient(180deg,#4e5b73 0%,#222836 100%);border-image:linear-gradient(180deg,#4e5b73 0%,#222836 100%),linear-gradient(180deg,#ffffff 16.67%,#d2d2d2 49.48%,#000000 73.44%,#e4e4e4 92.71%)}.g-icon-btn:disabled{color:#68707e;cursor:not-allowed;background:linear-gradient(180deg,#0a111d 0%,#222836 100%)}.image-map{position:relative;width:100%;height:100%;overflow:hidden;user-select:none;display:flex;justify-content:center}.image-map .image-map-pannel{width:100%;height:100%;user-select:none;display:flex;justify-content:center;align-items:center}.image-map .image-map-toolbar{position:absolute;width:auto;height:auto;bottom:12px;z-index:99;display:flex;align-items:center;gap:12px;background-color:#393939;padding:10px;border-radius:6px}.image-map .image-map-toolbar .zoom-controller{display:flex;height:100%;align-items:center;gap:12px;color:#fff}.image-map .image-map-toolbar .zoom-controller .g-icon-btn,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button{background-color:unset;font-size:16px;border:.5px solid #6f6f6f;border-radius:2px;font-size:14px}.image-map .image-map-toolbar .zoom-controller .g-icon-btn .anticon,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button .anticon{font-size:14px}.image-map .image-map-toolbar .zoom-controller.vertical{flex-direction:column}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn{background-color:red;margin-top:6px;border:none}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn .anticon{font-size:16px}.image-map .image-map-toolbar .zoom-controller.horizontal{flex-direction:row}.image-map .image-map-toolbar .line{width:1px;height:12px;border:.5px solid #e0e0e0}.image-map .image-map-toolbar .moveable-controller{background-color:unset;height:100%;border:.5px solid #6f6f6f;border-radius:2px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn{position:relative;border:none;border-radius:2px;background-color:unset;padding:0;display:flex;height:100%}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change{display:flex;align-items:center;color:#fff;gap:10px;height:100%;margin-inline-end:unset;padding:4px 8px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change svg{font-size:16px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .anticon{font-size:24px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn.active{color:#fff}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left}.image-map .image-map-toolbar .editing-controller .ant-btn-default{border:.5px solid #6f6f6f;border-radius:2px;background-color:unset;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-default:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller .ant-btn-primary{border-radius:2px;background-color:#0532a6;border:.5px solid #6f6f6f;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-primary:hover{background:#0949d2}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail{display:flex;align-items:center;color:#fff;gap:10px;height:100%}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail svg{font-size:16px}.pass-map{background:transparent}.pass-map .pass-area{position:absolute;background:rgba(255,77,79,.21);border:1px solid #00000000;z-index:1}.pass-map .pass-area-circle{border-radius:50%}.pass-map .pass-area__active{background:rgba(255,77,79,.25);border:1px solid #ff4d4f}.track-map{z-index:10;position:relative}.track-map .point{cursor:pointer}.track-map .bottom-action{position:fixed;left:50%;bottom:10px;transform:translate(-50%);z-index:1000;display:flex;justify-content:center;align-items:flex-end;padding-bottom:12px}.track-map .bottom-action .bottom-pannel{background:white;height:48px;background:rgba(255,255,255,.9);border:1px solid #f8f8f8;box-shadow:2px 2px 4px #c0c0c040;border-radius:4px;padding:0 12px}:where(.css-ed5zg0)[class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm],:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popconfirm{z-index:1060}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-inner-content{color:#000000e0}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message{position:relative;margin-bottom:8px;color:#000000e0;font-size:14px;display:flex;flex-wrap:nowrap;align-items:start}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message>.ant-popconfirm-message-icon .anticon{color:#faad14;font-size:14px;flex:none;line-height:1;padding-top:4px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title{flex:auto;margin-inline-start:8px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title-only{font-weight:600}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-description{position:relative;margin-inline-start:22px;margin-bottom:8px;color:#000000e0;font-size:14px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons{text-align:end}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons button{margin-inline-start:8px}:where(.css-ed5zg0)[class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover],:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"],:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:before,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:after,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popover{box-sizing:border-box;margin:0;padding:0;color:#000000e0;font-size:14px;line-height:1.57142857;list-style:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";position:absolute;top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:start;cursor:auto;user-select:text;--antd-arrow-background-color: #ffffff}:where(.css-ed5zg0).ant-popover-rtl{direction:rtl}:where(.css-ed5zg0).ant-popover-hidden{display:none}:where(.css-ed5zg0).ant-popover .ant-popover-content{position:relative}:where(.css-ed5zg0).ant-popover .ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;padding:12px}:where(.css-ed5zg0).ant-popover .ant-popover-title{min-width:177px;margin-bottom:8px;color:#000000e0;font-weight:600}:where(.css-ed5zg0).ant-popover .ant-popover-inner-content{color:#000000e0;padding:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;border:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:polygon(1.65685425px 100%,50% 1.65685425px,14.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z");content:""}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:after{content:"";position:absolute;width:8.97056275px;height:8.97056275px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px #0000000d;z-index:0;background:transparent}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{background:var(--antd-arrow-background-color)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{top:0;transform:translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{right:0;transform:translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{left:0;transform:translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-pure{position:relative;max-width:none;margin:16px;display:inline-block}:where(.css-ed5zg0).ant-popover-pure .ant-popover-content{display:inline-block}:where(.css-ed5zg0).ant-popover.ant-popover-blue{--antd-arrow-background-color: #1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-inner{background-color:#1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-purple{--antd-arrow-background-color: #722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-inner{background-color:#722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-cyan{--antd-arrow-background-color: #13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-inner{background-color:#13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-green{--antd-arrow-background-color: #52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-inner{background-color:#52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-magenta{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-pink{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-red{--antd-arrow-background-color: #f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-inner{background-color:#f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-orange{--antd-arrow-background-color: #fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-inner{background-color:#fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-yellow{--antd-arrow-background-color: #fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-inner{background-color:#fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-volcano{--antd-arrow-background-color: #fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-inner{background-color:#fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue{--antd-arrow-background-color: #2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-inner{background-color:#2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-lime{--antd-arrow-background-color: #a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-inner{background-color:#a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-gold{--antd-arrow-background-color: #faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-inner{background-color:#faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-enter.ant-zoom-big-enter-active,:where(.css-ed5zg0).ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:css-ed5zg0-antZoomBigIn;animation-play-state:running}:where(.css-ed5zg0).ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:css-ed5zg0-antZoomBigOut;animation-play-state:running;pointer-events:none}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}:where(.css-ed5zg0).ant-zoom-big-enter-prepare,:where(.css-ed5zg0).ant-zoom-big-appear-prepare{transform:none}:where(.css-ed5zg0).ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.track-map .tooltip-container{pointer-events:none!important}.track-map .tooltip-container>*{pointer-events:initial}.g-expandable-pannel-wrap.collapsed .tooltip-container{display:none}.g-rc-tooltip{position:absolute!important}.g-rc-tooltip .g-rc-tooltip-arrow{height:10px}.g-mouse-tip{display:inline-flex;justify-content:center;align-items:center;gap:4px;box-shadow:0 1px 10px #0000000d,0 4px 5px #00000014,0 2px 4px -1px #0000001f;border-radius:4px;background:#000;position:fixed;z-index:2000;padding:8px 12px}.g-mouse-tip-content{font-size:12px;font-style:normal;font-weight:400;color:#fff}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
|
-
"use strict";var Pe=Object.defineProperty,Re=Object.defineProperties;var Ge=Object.getOwnPropertyDescriptors;var vM=Object.getOwnPropertySymbols;var De=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable;var ue=(t,M,i)=>M in t?Pe(t,M,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[M]=i,Y=(t,M)=>{for(var i in M||(M={}))De.call(M,i)&&ue(t,i,M[i]);if(vM)for(var i of vM(M))ye.call(M,i)&&ue(t,i,M[i]);return t},MM=(t,M)=>Re(t,Ge(M));var dM=(t,M)=>{var i={};for(var n in t)De.call(t,n)&&M.indexOf(n)<0&&(i[n]=t[n]);if(t!=null&&vM)for(var n of vM(t))M.indexOf(n)<0&&ye.call(t,n)&&(i[n]=t[n]);return i};var Ie=(t,M,i)=>new Promise((n,z)=>{var s=N=>{try{g(i.next(N))}catch(c){z(c)}},j=N=>{try{g(i.throw(N))}catch(c){z(c)}},g=N=>N.done?n(N.value):Promise.resolve(N.value).then(s,j);g((i=i.apply(t,M)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),Ze=require("react-markdown"),Ve=require("remark-gfm"),He=require("rehype-raw"),Je=require("rehype-external-links"),Fe=require("remark-math"),$e=require("rehype-katex");require("katex/dist/katex.min.css");const BM=require("antd"),Xe=require("antd-mobile"),_e=require("react-device-detect"),Ke=require("react-syntax-highlighter"),UM=require("@ant-design/icons"),we=require("antd/es/tooltip"),qe=require("react-moveable"),Mt=require("deep-object-diff"),et=require("lodash/debounce"),PM=require("antd/es/button"),tt=require("antd/es/popconfirm"),nt=require("use-immer"),Ce=require("ahooks"),it=require("@xstate/react"),RM=require("lodash/size"),QM=require("xstate"),ot=require("lodash/first"),aM=require("@xstate/immer");const zt=t=>{const g=t,{primary:M=!1,size:i="medium",backgroundColor:n,label:z}=g,s=dM(g,["primary","size","backgroundColor","label"]),j=M?"storybook-button--primary":"storybook-button--secondary";return e.jsx("button",MM(Y({type:"button",className:["storybook-button",`storybook-button--${i}`,j].join(" "),style:{backgroundColor:n}},s),{children:z}))};const Nt=t=>e.jsx("video",Y({style:{maxWidth:"100%",width:560,height:315}},t)),ZM=Nt;function st(t){const M=t.split(/(```[\s\S]*?```|`[^`]*?`|<code>[\s\S]*?<\/code>)/);let i="";for(let n=0;n<M.length;n++)if(n%2===0){let z=M[n].replaceAll(/\\\[([\s\S]*?)\\\]/g,(s,j)=>`$$${j}$$`).replaceAll(/\\\(([\s\S]*?)\\\)/g,(s,j)=>`$${j}$`);i+=z}else i+=M[n];return i}function jt(t){var j;const M=(()=>{try{return new URL(t)}catch(g){return null}})();if(!M)return null;const n=((j=M.pathname.split(".").pop())==null?void 0:j.toLowerCase())||"",z=["jpg","jpeg","gif","png"],s=["mp4","wmv","avi","mov"];return z.includes(n)?"image":s.includes(n)?"video":null}const ct=t=>{const[M,i]=o.useState(!1),[n,z]=o.useState();return o.useEffect(()=>{t.src&&z(jt(t.src))},[t.src]),n=="video"?e.jsx(ZM,{src:t.src,controls:!0}):_e.isMobile?e.jsxs(e.Fragment,{children:[e.jsx("img",Y({style:{maxWidth:"100%"},src:t==null?void 0:t.src,onClick:()=>{i(!0)}},t)),e.jsx(Xe.ImageViewer,{image:(t==null?void 0:t.src)||"",visible:M,onClose:()=>{i(!1)}})]}):e.jsx(BM.Image,MM(Y({style:{maxWidth:"100%"},preview:{getContainer:()=>document.body}},t),{onClick:s=>{var j,g,N;(N=t.onClick)==null||N.call(t,MM(Y({},s),{target:(g=(j=s.target)==null?void 0:j.offsetParent)==null?void 0:g.children[0]}))},onError:()=>{console.log(t),console.warn("图片加载失败")}}))},Ee=ct,X=UM.createFromIconfontCN({scriptUrl:new URL("data:application/javascript;base64,d2luZG93Ll9pY29uZm9udF9zdmdfc3RyaW5nXzM5MjkyMDkgPSAnPHN2Zz48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8teGlhIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTkyLjk1NzAzMTI1IDM1NC42NDA2MjVoNDMzLjc0MDIzNDM4YzQyLjEzNDc2NTYzIDAgODAuODQxNzk2ODgtMC4xNTgyMDMxMyAxMTYuMjI2NTYyNDktMC40MjE4NzVDNzc4LjMwODU5Mzc1IDM1My45NTUwNzgxMiA4MDUuODM1OTM3NSAzNTMuNzk2ODc1IDgyNS40NTMxMjUgMzUzLjc5Njg3NWMxMy41IDAgMjQuNzMyNDIxODggMy4xNjQwNjI1IDMzLjc1IDkuNTk3NjU2MjUgOC45NjQ4NDM3NSA2LjQzMzU5Mzc1IDE0Ljk3NjU2MjUgMTQuNTAxOTUzMTMgMTguMDg3ODkwNjMgMjQuMjU3ODEyNSAzLjA1ODU5Mzc1IDkuNzAzMTI1IDMuMDU4NTkzNzUgMjAuNDYwOTM3NS0xZS04IDMyLjE2Nzk2ODc1YTcxLjcxODc1IDcxLjcxODc1IDAgMCAxLTE5LjgyODEyNDk5IDMyLjUzNzEwOTM4Yy0yMS4zMDQ2ODc1IDIwLjU2NjQwNjI1LTQzLjY2NDA2MjUgNDIuODczMDQ2ODgtNjYuOTcyNjU2MjYgNjYuODE0NDUzMTItMjMuMjU1ODU5MzggMjMuOTQxNDA2MjUtNDYuNzIyNjU2MjUgNDguNTY4MzU5MzgtNzAuMjk0OTIxODcgNzMuOTMzNTkzNzUtMjMuNTcyMjY1NjMgMjUuMzEyNS00Ny4xNDQ1MzEyNSA1MC45NDE0MDYyNS03MC43Njk1MzEyNSA3Ni44MzM5ODQzOGwtNjguMTg1NTQ2ODggNzQuNzI0NjA5MzdhODkuMTIxMDkzNzUgODkuMTIxMDkzNzUgMCAwIDEtMzUuMzMyMDMxMjUgMjMuODM1OTM3NWMtMTQuMDgwMDc4MTMgNS4yNzM0Mzc1LTI4LjY4NzUgNy42NDY0ODQzOC00My44MjIyNjU2MiA3LjA2NjQwNjI1YTEzMi4zNjMyODEyNSAxMzIuMzYzMjgxMjUgMCAwIDEtNDQuNjY2MDE1NjMtOS41OTc2NTYyNSA5NC44MTY0MDYyNSA5NC44MTY0MDYyNSAwIDAgMS0zNy4wNzIyNjU2Mi0yNi4zMTQ0NTMxMyA2MzQ3LjYzNjcxODc1IDYzNDcuNjM2NzE4NzUgMCAwIDAtNTcuNjkxNDA2MjUtNjQuNzA1MDc4MTJjLTE5LjM1MzUxNTYzLTIxLjQ2Mjg5MDYzLTM5LjI4NzEwOTM4LTQzLjQ1MzEyNS01OS44MDA3ODEyNS02NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMS0xMzYuMDAxOTUzMTMtMTQ5LjkyMzgyODEyIDk1LjE4NTU0Njg4IDk1LjE4NTU0Njg4IDAgMCAxLTIyLjMwNjY0MDYyLTM3LjE3NzczNDM4QTY0LjE3NzczNDM4IDY0LjE3NzczNDM4IDAgMCAxIDE0Mi44NTkzNzUgMzg4LjAyMTQ4NDM3YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMSAxNi44NzUtMjQuMjA1MDc4MTJjOC42NDg0Mzc1LTYuMTE3MTg3NSAxOS43NzUzOTA2My05LjE3NTc4MTI1IDMzLjIyMjY1NjI1LTkuMTc1NzgxMjV6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8tc2hhbmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04MzEuMDQyOTY4NzUgNjY5LjM1OTM3NUgzOTcuMzAyNzM0MzdjLTQyLjEzNDc2NTYzIDAtODAuODQxNzk2ODggMC4xNTgyMDMxMy0xMTYuMjI2NTYyNDkgMC40MjE4NzUtMzUuMzg0NzY1NjMgMC4yNjM2NzE4OC02Mi45MTIxMDkzOCAwLjQyMTg3NS04Mi41MjkyOTY4OCAwLjQyMTg3NS0xMy41IDAtMjQuNzMyNDIxODgtMy4xNjQwNjI1LTMzLjc1LTkuNTk3NjU2MjVhNDYuNjE3MTg3NSA0Ni42MTcxODc1IDAgMCAxLTE4LjA4Nzg5MDYyLTI0LjI1NzgxMjUgNTYuODQ3NjU2MjUgNTYuODQ3NjU2MjUgMCAwIDEgMC0zMi4xNjc5Njg3NSA3MS43MTg3NSA3MS43MTg3NSAwIDAgMSAxOS44MjgxMjUtMzIuNTM3MTA5MzhjMjEuMzA0Njg3NS0yMC41NjY0MDYyNSA0My42NjQwNjI1LTQyLjg3MzA0Njg4IDY2Ljk3MjY1NjI1LTY2LjgxNDQ1MzEyIDIzLjI1NTg1OTM4LTIzLjk0MTQwNjI1IDQ2LjcyMjY1NjI1LTQ4LjU2ODM1OTM4IDcwLjI5NDkyMTg3LTczLjkzMzU5Mzc1IDIzLjU3MjI2NTYzLTI1LjMxMjUgNDcuMTQ0NTMxMjUtNTAuOTQxNDA2MjUgNzAuNzY5NTMxMjUtNzYuODMzOTg0MzhsNjguMTg1NTQ2ODgtNzQuNzI0NjA5MzdjOS41NDQ5MjE4OC0xMC41OTk2MDkzOCAyMS4zNTc0MjE4OC0xOC41NjI1IDM1LjMzMjAzMTI1LTIzLjgzNTkzNzUgMTQuMDgwMDc4MTMtNS4yNzM0Mzc1IDI4LjY4NzUtNy42NDY0ODQzOCA0My44MjIyNjU2Mi03LjA2NjQwNjI1IDE1LjE4NzUgMC41MjczNDM3NSAzMC4wNTg1OTM3NSAzLjY5MTQwNjI1IDQ0LjY2NjAxNTYzIDkuNTk3NjU2MjUgMTQuNjA3NDIxODggNS44MDA3ODEyNSAyNi45NDcyNjU2MyAxNC42MDc0MjE4OCAzNy4wNzIyNjU2MiAyNi4zMTQ0NTMxMyAxOS4wODk4NDM3NSAyMS42NzM4MjgxMyAzOC4yODUxNTYyNSA0My4yNDIxODc1IDU3LjY5MTQwNjI1IDY0LjcwNTA3ODEyIDE5LjM1MzUxNTYzIDIxLjQ2Mjg5MDYzIDM5LjI4NzEwOTM4IDQzLjQ1MzEyNSA1OS44MDA3ODEyNSA2NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMSAxMzYuMDAxOTUzMTMgMTQ5LjkyMzgyODEyYzExLjIzMjQyMTg4IDEyLjI4NzEwOTM4IDE4LjY2Nzk2ODc1IDI0LjY3OTY4NzUgMjIuMzA2NjQwNjIgMzcuMTc3NzM0MzggMy42OTE0MDYyNSAxMi41NTA3ODEyNSA0LjIxODc1IDIzLjgzNTkzNzUgMS42ODc1IDMzLjg1NTQ2ODc1YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMS0xNi44NzUgMjQuMjA1MDc4MTJjLTguNjQ4NDM3NSA2LjExNzE4NzUtMTkuNzc1MzkwNjMgOS4xNzU3ODEyNS0zMy4yMjI2NTYyNSA5LjE3NTc4MTI1eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nLXp1byIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTEyOCAxOTJoNzY4djY0SDEyOFYxOTJ6IG03Ny4yNDggMzIwbDEwNS40MDggMTA1LjM0NC00NS4zMTIgNDUuMzEyLTEyOC0xMjhhMzIgMzIgMCAwIDEgMC00NS4zMTJsMTI4LTEyOCA0NS4zMTIgNDUuMzEyTDIwNS4yNDggNTEyek04OTYgMzg0SDM4NHY2NGg1MTJWMzg0ek0zODQgNTc2aDUxMnY2NEgzODRWNTc2eiBtNTEyIDE5MkgxMjh2NjRoNzY4di02NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tY29tcGFyZS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTU0LjY2NjY2NyA4NS4zMzMzMzNoLTg1LjMzMzMzNHY4NTMuMzMzMzM0aDg1LjMzMzMzNFY4NS4zMzMzMzN6TTE3MC42NjY2NjcgMTcwLjY2NjY2N2gyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3djUxMmgyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEtODUuMzMzMzM0LTg1LjMzMzMzM1YyNTZhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzQtODUuMzMzMzMzek04NTMuMzMzMzMzIDc2OGgtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM2E4NS4zMzMzMzMgODUuMzMzMzMzIDAgMCAwIDg1LjMzMzMzNC04NS4zMzMzMzNWMjU2YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDAtODUuMzMzMzM0LTg1LjMzMzMzM2gtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM3Y1MTJ6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLWJpbS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTQuOTgxNTQ3IDc2OGExMy40ODI2NjcgMTMuNDgyNjY3IDAgMCAxLTEwLjYyNC01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zNTItMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM1Mi0xMy4xODRBMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMSAxNS4wMjQyMTMgMjU2aDE4MS4xMmMzMy43MDY2NjcgMCA2MS4yMjY2NjcgNi4xMDEzMzMgODIuNDMyIDE4LjMwNCAyMS4yNDggMTEuNjkwNjY3IDM2Ljg2NCAyOC4wMzIgNDYuODQ4IDQ4Ljk4MTMzMyAxMC40MTA2NjcgMjAuOTkyIDE1LjYxNiA0NS4zNTQ2NjcgMTUuNjE2IDczLjEzMDY2NyAwIDE4LjU2LTIuOTAxMzMzIDM0LjkwMTMzMy04Ljc0NjY2NiA0OS4wMjQtNS40MTg2NjcgMTMuNjUzMzMzLTEyLjI4OCAyNC44NzQ2NjctMjAuNjA4IDMzLjY2NC03Ljg5MzMzMyA4Ljc0NjY2Ny0xNS43ODY2NjcgMTUuNTczMzMzLTIzLjcyMjY2NyAyMC40OCAxNi4yMTMzMzMgOC43NDY2NjcgMzAuNTkyIDIzLjM4MTMzMyA0My4wOTMzMzMgNDMuODYxMzMzIDEyLjUwMTMzMyAyMC40OCAxOC43NzMzMzMgNDQuODg1MzMzIDE4Ljc3MzMzNCA3My4xMzA2NjcgMCAyOS4yNjkzMzMtNS42NzQ2NjcgNTUuMzgxMzMzLTE2Ljg5NiA3OC4yOTMzMzMtMTEuMjY0IDIyLjkxMi0yNy45MDQgNDAuOTYtNDkuOTYyNjY3IDU0LjEwMTMzNC0yMi4wNTg2NjcgMTIuNjcyLTQ5LjM2NTMzMyAxOS4wMjkzMzMtODEuODM0NjY3IDE5LjAyOTMzM0gxNC45ODE1NDd6IG03MS44NTA2NjYtNzcuNTI1MzMzSDE5MS4xNTIyMTNjMjIuNDg1MzMzIDAgMzkuNTUyLTcuMDgyNjY3IDUxLjItMjEuMjA1MzM0IDExLjY0OC0xNC42MzQ2NjcgMTcuNDkzMzMzLTMyLjIxMzMzMyAxNy40OTMzMzQtNTIuNjkzMzMzIDAtMjEuNDE4NjY3LTYuMDE2LTM5LjI1MzMzMy0xOC4wOTA2NjctNTMuMzc2LTExLjY5MDY2Ny0xNC4xMjI2NjctMjguNTQ0LTIxLjIwNTMzMy01MC42MDI2NjctMjEuMjA1MzMzSDg2LjgzMjIxM3YxNDguNDh6IG0wLTIyNC41NTQ2NjdoOTguMDQ4YzIyLjEwMTMzMyAwIDM4LjUyOC02LjEwMTMzMyA0OS4zNjUzMzQtMTguMzA0IDExLjIyMTMzMy0xMi42NzIgMTYuODUzMzMzLTI5LjAxMzMzMyAxNi44NTMzMzMtNDguOTgxMzMzIDAtMjAuNDgtNS42MzItMzYuMzUyLTE2Ljg1MzMzMy00Ny41MzA2NjctMTAuODM3MzMzLTExLjczMzMzMy0yNy4zMDY2NjctMTcuNTc4NjY3LTQ5LjM2NTMzNC0xNy41Nzg2NjdIODYuODMyMjEzdjEzMi4zOTQ2Njd6TTQ0My4yMjY4OCA3NjhhMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMS0xMC42NjY2NjctNS4xMiAxOC41MTczMzMgMTguNTE3MzMzIDAgMCAxLTQuMzUyLTEyLjQxNlYyNzMuNDkzMzMzYzAtNC44NjQgMS40NTA2NjctOS4wMDI2NjcgNC4zOTQ2NjctMTIuNDE2YTEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEgMTAuNjI0LTUuMTJoNTguNzA5MzMzYzQuNTY1MzMzIDAgOC4xMDY2NjcgMS43MDY2NjcgMTAuNjI0IDUuMTIgMi45MDEzMzMgMy40MTMzMzMgNC4zNTIgNy41NTIgNC4zNTIgMTIuNDE2Vjc1MC41MDY2NjdhMTguNTE3MzMzIDE4LjUxNzMzMyAwIDAgMS00LjM1MiAxMi40MTYgMTIuMzczMzMzIDEyLjM3MzMzMyAwIDAgMS0xMC42NjY2NjYgNS4xMmgtNTguNjY2NjY3ek02MzAuNDkwODggNzY4YTE0LjA4IDE0LjA4IDAgMCAxLTExLjIyMTMzMy01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zOTQ2NjctMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM5NDY2Ny0xMy4xODRhMTQuMDggMTQuMDggMCAwIDEgMTEuMjIxMzMzLTUuMTJoNDkuMzY1MzMzYzUuODAyNjY3IDAgMTAuMTk3MzMzIDEuOTYyNjY3IDEzLjA5ODY2NyA1Ljg0NTMzMyAyLjkwMTMzMyAzLjQxMzMzMyA0Ljc3ODY2NyA2LjEwMTMzMyA1LjYzMiA4LjA2NGwxMjAuNTMzMzMzIDI2My4yOTYgMTIxLjgxMzMzNC0yNjMuMjk2YTM1LjkyNTMzMyAzNS45MjUzMzMgMCAwIDEgNS42MzItOC4wNjRjMi45MDEzMzMtMy44ODI2NjcgNy4yNTMzMzMtNS44NDUzMzMgMTMuMDk4NjY2LTUuODQ1MzMzaDQ4LjcyNTMzNGExNC4wOCAxNC4wOCAwIDAgMSAxMS4yNjQgNS4xMmMyLjkwMTMzMyAzLjQxMzMzMyA0LjM1MiA3LjgwOCA0LjM1MiAxMy4xODR2NDc2LjE2YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDE0LjA4IDE0LjA4IDAgMCAxLTExLjI2NCA1LjEyaC01Mi40OGExNC4wOCAxNC4wOCAwIDAgMS0xMS4yMjEzMzQtNS4xMiAyMC40OCAyMC40OCAwIDAgMS0zLjc1NDY2Ni0xMi40MTZ2LTMxNi43MTQ2NjdsLTg3LjQ2NjY2NyAxOTUuMjg1MzM0YTQzLjA1MDY2NyA0My4wNTA2NjcgMCAwIDEtOC4xMDY2NjcgMTEuNjkwNjY2IDE5LjE1NzMzMyAxOS4xNTczMzMgMCAwIDEtMTMuMDk4NjY2IDQuMzk0NjY3aC0yNS42YTIwLjA5NiAyMC4wOTYgMCAwIDEtMTMuNzgxMzM0LTQuMzk0NjY3IDUyLjczNiA1Mi43MzYgMCAwIDEtNy40NjY2NjYtMTEuNjkwNjY2bC04Ny40NjY2NjctMTk1LjI4NTMzNHYzMTYuNzE0NjY3YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEtMTAuNjY2NjY3IDUuMTJoLTUyLjQzNzMzM3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tb3ZlcmxhcC1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNOTM4LjY2NjY2NyA0MDIuMDA1MzMzVjI5OC42NjY2NjdjMC0yOS40ODI2NjctMjMuODkzMzMzLTUzLjMzMzMzMy01My4zMzMzMzQtNTMuMzMzMzM0aC05My4zNTQ2NjZhMTMuMzU0NjY3IDEzLjM1NDY2NyAwIDAgMS0xMy4zMTItMTMuMzU0NjY2VjEzOC42NjY2NjdDNzc4LjY2NjY2NyAxMDkuMTg0IDc1NC43NzMzMzMgODUuMzMzMzMzIDcyNS4zMzMzMzMgODUuMzMzMzMzSDEzOC42NjY2NjdDMTA5LjIyNjY2NyA4NS4zMzMzMzMgODUuMzMzMzMzIDEwOS4xODQgODUuMzMzMzMzIDEzOC42NjY2NjdWNzI1LjMzMzMzM2MwIDI5LjQ0IDIzLjg5MzMzMyA1My4zMzMzMzMgNTMuMzMzMzM0IDUzLjMzMzMzNGg5My4zNTQ2NjZjNy4yOTYgMCAxMy4zMTIgNS45NzMzMzMgMTMuMzEyIDEzLjM1NDY2NnY5My4zMTJjMCAyOS40NCAyMy44OTMzMzMgNTMuMzMzMzMzIDUzLjMzMzMzNCA1My4zMzMzMzRoMTAzLjMzODY2NmEzLjMyOCAzLjMyOCAwIDAgMCAzLjMyOC0zLjMyOHYtNDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4LTMuMzI4SDI5OC42NjY2Njd2LTkzLjM1NDY2NmMwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEySDcyNS4zMzMzMzNjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzRWMzExLjk3ODY2N2MwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEyaDkzLjMxMnYxMDMuMzM4NjY2YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjhoNDYuNjc3MzM0QTMuMzI4IDMuMzI4IDAgMCAwIDkzOC42NjY2NjcgNDAyLjAwNTMzM3pNNzgxLjk5NDY2NyA5MzguNjY2NjY3aDEwMy4zMzg2NjZjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzR2LTEwMy4zMzg2NjZhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHY5MC4wMjY2NjZjMCA3LjI5Ni01Ljk3MzMzMyAxMy4zMTItMTMuMzU0NjY2IDEzLjMxMmgtODkuOTg0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4IDMuMzI4djQ2LjY3NzMzNGMwIDEuODM0NjY3IDEuNDkzMzMzIDMuMzI4IDMuMzI4IDMuMzI4eiIgID48L3BhdGg+PHBhdGggZD0iTTQ4OC42NjEzMzMgOTM4LjY2NjY2N2gyMDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwIDMuMzI4LTMuMzI4di00Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjggMy4zMjh2NDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6TTg4OC42NjEzMzMgNjk4LjY2NjY2N2g0Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAgMy4zMjgtMy4zMjh2LTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHYyMDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXRpYW96aGVuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTUyOS43NDkzMzMgNDIuNjY2NjY3aDEuODc3MzM0bDEuMzIyNjY2IDAuMDg1MzMzIDEuMTUyIDAuMTI4IDEuMzIyNjY3IDAuMTcwNjY3IDIuMDQ4IDAuMzQxMzMzIDEuODM0NjY3IDAuNDI2NjY3IDEuODM0NjY2IDAuNDY5MzMzIDEuNzA2NjY3IDAuNTk3MzMzIDEuMzY1MzMzIDAuNTEyIDEuMzY1MzM0IDAuNjQgMS4yOCAwLjU5NzMzNCAxLjUzNiAwLjg1MzMzMyAxLjE1MiAwLjY4MjY2NyAxLjQwOCAwLjkzODY2NiAxLjQ5MzMzMyAxLjA2NjY2NyAwLjg1MzMzMyAwLjY4MjY2NyAxLjk2MjY2NyAxLjcwNjY2NiAwLjcyNTMzMyAwLjc2OCAxMDkuMDEzMzM0IDEwOC45NzA2NjdhMzYuMzA5MzMzIDM2LjMwOTMzMyAwIDAgMS01MC4yNjEzMzQgNTIuNDhsLTEuMTA5MzMzLTEuMDY2NjY3LTQ1LjE4NC00NS4xODR2MzA1LjkyaDMwOC40MzczMzNsLTQ0LjUwMTMzMy00Mi4wMjY2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA0OC43NjgtNTMuODQ1MzM0bDEuMTA5MzMzIDEuMDI0IDExMC4wOCAxMDQuMDIxMzM0IDEuMTUyIDEuMjM3MzMzIDEuMDY2NjY3IDEuMTk0NjY3IDAuOTM4NjY3IDEuMjM3MzMzIDEuMDY2NjY2IDEuNDkzMzMzIDAuOTM4NjY3IDEuNDkzMzM0IDAuODUzMzMzIDEuNTM2IDAuNjgyNjY3IDEuMjggMC43NjggMS43MDY2NjYgMC44MTA2NjcgMi4wNDggMC4yMTMzMzMgMC42ODI2NjcgMC40MjY2NjcgMS4yOCAwLjM0MTMzMyAxLjQ1MDY2NyAwLjM0MTMzMyAxLjQwOCAwLjI5ODY2NyAxLjcwNjY2NiAwLjIxMzMzMyAxLjcwNjY2NyAwLjE3MDY2NyAxLjgzNDY2NyAwLjA0MjY2NyAxLjQ5MzMzM3YxLjg3NzMzM2wtMC4wODUzMzQgMS4zMjI2NjctMC4xMjggMS4xNTItMC4xMjggMS4zMjI2NjctMC4zODQgMi4wNDgtMC40MjY2NjYgMS44MzQ2NjYtMC40NjkzMzQgMS44MzQ2NjctMC41OTczMzMgMS43MDY2NjctMC41MTIgMS4zNjUzMzMtMC41OTczMzMgMS4zNjUzMzMtMC42NCAxLjI4LTAuODUzMzM0IDEuNTM2LTAuNjgyNjY2IDEuMTUyLTAuOTM4NjY3IDEuNDA4LTEuMDY2NjY3IDEuNDkzMzM0LTAuNjgyNjY2IDAuODUzMzMzLTEuNzA2NjY3IDEuOTYyNjY3LTAuNzI1MzMzIDAuNzI1MzMzLTEwOS4wMTMzMzQgMTA5LjAxMzMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUyLjQ4LTUwLjI2MTMzM2wxLjA2NjY2Ny0xLjEwOTMzMyA0NS4xODQtNDUuMTg0aC0zMDguMzUydjMwOC4zNTJsNDUuMTg0LTQ1LjE4NGEzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxIDUyLjQzNzMzMyA1MC4zMDRsLTEuMDY2NjY2IDEuMTA5MzMzLTEwOS43Mzg2NjcgMTA5LjczODY2Ny0wLjY0IDAuNTU0NjY2LTEuNTM2IDEuMzIyNjY3LTEuNDkzMzMzIDEuMTUyLTEuNTM2IDEuMDI0LTEuNzA2NjY3IDEuMDI0LTEuMTA5MzMzIDAuNjQtMS4xOTQ2NjcgMC41OTczMzMtMS4zNjUzMzMgMC42NC0xLjc5MiAwLjcyNTMzNC0xLjc0OTMzNCAwLjU5NzMzMy0xLjQwOCAwLjM4NC0xLjc5MiAwLjQyNjY2Ny0xLjYyMTMzMyAwLjI5ODY2Ni0xLjg3NzMzMyAwLjI1Ni0xLjgzNDY2NyAwLjE3MDY2Ny0xLjkyIDAuMDg1MzMzaC0xLjQwOGwtMS40MDgtMC4wODUzMzMtMS40MDgtMC4xMjgtMS43NDkzMzMtMC4yMTMzMzMtMS4xNTItMC4yMTMzMzQtMS4wNjY2NjctMC4yMTMzMzMtMS4wNjY2NjctMC4yNTYtMS4yOC0wLjM0MTMzMy0xLjUzNi0wLjQ2OTMzNC0xLjgzNDY2Ni0wLjY4MjY2Ni0xLjUzNi0wLjY0LTEuNzA2NjY3LTAuODUzMzM0LTEuMjgtMC43MjUzMzMtMS41Nzg2NjctMC45Mzg2NjctMS41Nzg2NjYtMS4wNjY2NjYtMS43MDY2NjctMS4yOC0xLjIzNzMzMy0xLjA2NjY2Ny0xLjE5NDY2Ny0xLjEwOTMzMy0xLjA2NjY2Ny0xLjEwOTMzNC0xMDIuOTU0NjY2LTEwOS4wMTMzMzNhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MS43NTQ2NjYtNTAuOTg2NjY3bDEuMDY2NjY3IDEuMTA5MzM0IDQyLjAyNjY2NyA0NC40NTg2NjZ2LTMwOC4zOTQ2NjZIMTg5Ljg2NjY2N2w0NS4xODQgNDUuMTg0QTM2LjM1MiAzNi4zNTIgMCAwIDEgMTg0Ljc0NjY2NyA2NDQuNjkzMzMzbC0xLjEwOTMzNC0xLjA2NjY2Ni0xMDkuNzM4NjY2LTEwOS43Mzg2NjctMC41NTQ2NjctMC42NC0xLjMyMjY2Ny0xLjUzNi0xLjE1Mi0xLjQ5MzMzMy0xLjA2NjY2Ni0xLjUzNi0wLjk4MTMzNC0xLjcwNjY2Ny0wLjY0LTEuMTA5MzMzLTAuNTk3MzMzLTEuMTk0NjY3LTAuNjQtMS4zNjUzMzMtMC43MjUzMzMtMS43OTItMC41OTczMzQtMS43NDkzMzQtMC40MjY2NjYtMS40MDgtMC40MjY2NjctMS43OTItMC4yNTYtMS42NjQtMC4yOTg2NjctMS44MzQ2NjYtMC4xMjgtMS44MzQ2NjctMC4wODUzMzMtMS45MnYtMS40MDhsMC4wODUzMzMtMS40MDggMC4xMjgtMS40MDggMC4yMTMzMzQtMS43NDkzMzMgMC4yMTMzMzMtMS4xNTIgMC4yMTMzMzMtMS4wNjY2NjcgMC4yNTYtMS4wNjY2NjcgMC4zNDEzMzQtMS4yOCAwLjQyNjY2Ni0xLjUzNiAwLjcyNTMzNC0xLjgzNDY2NiAwLjY0LTEuNTM2IDAuODUzMzMzLTEuNzA2NjY3IDAuNjgyNjY3LTEuMjggMC45ODEzMzMtMS41Nzg2NjcgMS4wNjY2NjctMS41Nzg2NjYgMS4yOC0xLjcwNjY2NyAxLjA2NjY2Ni0xLjE5NDY2NyAxLjEwOTMzNC0xLjIzNzMzMyAxLjEwOTMzMy0xLjA2NjY2NyAxMDkuMDEzMzMzLTEwMi45NTQ2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MC45ODY2NjcgNTEuNzU0NjY2bC0xLjEwOTMzMyAxLjA2NjY2Ny00NC41MDEzMzQgNDIuMDI2NjY3aDMwNi4wMDUzMzRWMTY4LjQ0OGwtNDIuMDI2NjY3IDQ0LjUwMTMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUzLjg0NTMzMy00OC43NjhsMS4wMjQtMS4xMDkzMzMgMTA0LjAyMTMzMy0xMTAuMDggMS4yMzczMzMtMS4xNTIgMS4xOTQ2NjctMS4wNjY2NjcgMS4yMzczMzMtMC45Mzg2NjYgMS40OTMzMzQtMS4wMjQgMS40OTMzMzMtMC45ODEzMzQgMS41MzYtMC44NTMzMzMgMS4yOC0wLjY4MjY2NyAxLjcwNjY2Ny0wLjc2OCAyLjA0OC0wLjc2OCAwLjY4MjY2Ni0wLjI1NiAxLjI4LTAuNDI2NjY2IDEuNDUwNjY3LTAuMzQxMzM0IDEuNDA4LTAuMzQxMzMzIDEuNzA2NjY3LTAuMjk4NjY3IDEuNzA2NjY2LTAuMjEzMzMzIDEuODM0NjY3LTAuMTcwNjY3IDEuNDkzMzMzLTAuMDQyNjY2eiIgZmlsbD0iIzY2NjY2NiIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLW1hcCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTk0Ni41NiAxNzAuNjI0YTMyLjY0IDMyLjY0IDAgMCAwLTI2Ljc1Mi03LjA0bC0yMzcuMTg0IDQyLjExMkw2MjIuMDggMTg1LjZhMzIuNjQgMzIuNjQgMCAxIDAtMjAuNjcyIDYyLjA4bDY4LjQ4IDIyLjc4NGMxLjYgMC41MTIgMy4yIDAuODk2IDQuODY0IDEuMTUydjI2NS42bC0xMzUuMzYtNDEuNmEyMS44MjQgMjEuODI0IDAgMCAwLTEyLjggNDEuNmwxNDguMTYgNDUuNjMydjI3My44NTZsLTI4My41Mi03OS42OHYtMTIzLjI2NGEyMS43NiAyMS43NiAwIDEgMC00My43MTIgMHYxMjMuODRsLTIxOC4xMTIgMzQuMjRWMTk1LjcxMmEzMi43MDQgMzIuNzA0IDAgMCAwLTY1LjQwOCAwdjY1NC40YTMyLjY0IDMyLjY0IDAgMCAwIDM3Ljc2IDMyLjMybDI3MS4xMDQtNDIuNTYgMzA0IDg1LjM3NmEzMi44MzIgMzIuODMyIDAgMCAwIDE0LjY1NiAwLjY0bDIzOS44NzItNDMuNTg0YTMyLjcwNCAzMi43MDQgMCAwIDAgMjYuODgtMzIuMTkyVjE5NS43MTJhMzIuNjQgMzIuNjQgMCAwIDAtMTEuNzEyLTI1LjA4OHogbS01My43NiAzMzkuODRsLTE3NC40NjQgMzAuNFYyNjUuODU2bDE3NC41MjgtMzEuMDR2Mjc1LjY0OHogbS0xNzQuNDY0IDM0NC4wNjR2LTI2OS40NGwxNzQuNTI4LTMwLjMzNnYyNjguMDMybC0xNzQuNTI4IDMxLjc0NHoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0yMDkuNzI4IDM2NS45NTJjMTAuNjg4IDIxLjEyIDEwOC45OTIgMTU5Ljc0NCAxMzguODggMjAxLjY2NCA2LjE0NCA4LjY0IDE2IDEzLjc2IDI2LjYyNCAxMy43NmgwLjA2NGEzMi43MDQgMzIuNzA0IDAgMCAwIDI2LjY4OC0xMy44ODhjMjkuNzYtNDIuMzA0IDEyNy43NDQtMTgxLjg4OCAxMzcuNzkyLTIwMS4yMTYgMTMuMTg0LTI1LjQwOCAyMC40OC01NS4wNCAyMC40OC04My4zMjhhMTg1LjYgMTg1LjYgMCAwIDAtMTg1LjQwOC0xODUuNDA4QTE4NS42IDE4NS42IDAgMCAwIDE4OS40NCAyODIuOTQ0YzAgMjguMjg4IDYuNzg0IDU2LjE5MiAyMC4yODggODIuOTQ0eiBtMTY1LjEyLTIwMy4wMDhjNjYuMTEyIDAgMTE5LjkzNiA1My44MjQgMTE5LjkzNiAxMjAgMCAxNy43MjgtNC43MzYgMzcuMTItMTMuMDU2IDUzLjEyLTUuNjk2IDEwLjU2LTU1LjE2OCA4Mi4zNjgtMTA2LjYyNCAxNTUuODQtNDcuMjMyLTY2LjgxNi0xMDAuNzM2LTE0My42MTYtMTA2Ljk0NC0xNTUuNTJhMTE4LjcyIDExOC43MiAwIDAgMS0xMy4zMTItNTMuNDRjMC02Ni4xNzYgNTMuODI0LTEyMCAxMjAtMTIweiIgID48L3BhdGg+PHBhdGggZD0iTTMyMC4zMiAyODMuMDA4YTU0LjUyOCA1NC41MjggMCAxIDAgMTA5LjA1NiAwIDU0LjUyOCA1NC41MjggMCAwIDAtMTA5LjA1NiAweiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1mYW5nZGEiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0zNjIuNjY2NjY3IDUzMy4zMzMzMzNoODUuMzMzMzMzdjg1LjMzMzMzNGg4NS4zMzMzMzN2LTg1LjMzMzMzNGg4NS4zMzMzMzR2LTg1LjMzMzMzM2gtODUuMzMzMzM0di04NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzN6IiAgPjwvcGF0aD48cGF0aCBkPSJNMTI4IDQ5MC42NjY2NjdhMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMSAxIDY0Ny41MDkzMzMgMjI0LjUxMmwxOTMuMzIyNjY3IDE5My4zMjI2NjYtNjAuMzMwNjY3IDYwLjMzMDY2Ny0xOTMuMzIyNjY2LTE5My4zMjI2NjdBMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMCAxIDEyOCA0OTAuNjY2NjY3ek00OTAuNjY2NjY3IDIxMy4zMzMzMzNhMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMSAwIDAgNTU0LjY2NjY2NyAyNzcuMzMzMzMzIDI3Ny4zMzMzMzMgMCAwIDAgMC01NTQuNjY2NjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1zdW94aWFvIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNjE4LjY2NjY2NyA1MzMuMzMzMzMzaC0yNTZ2LTg1LjMzMzMzM2gyNTZ2ODUuMzMzMzMzeiIgID48L3BhdGg+PHBhdGggZD0iTTEyOCA0OTAuNjY2NjY3YTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDEgMSA2NDcuNTA5MzMzIDIyNC41MTJsMTkzLjMyMjY2NyAxOTMuMzIyNjY2LTYwLjMzMDY2NyA2MC4zMzA2NjctMTkzLjMyMjY2Ni0xOTMuMzIyNjY3QTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDAgMSAxMjggNDkwLjY2NjY2N3pNNDkwLjY2NjY2NyAyMTMuMzMzMzMzYTI3Ny4zMzMzMzMgMjc3LjMzMzMzMyAwIDEgMCAwIDU1NC42NjY2NjcgMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMCAwIDAtNTU0LjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tYm9mYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNODc1LjYwNTMzMyA1NDguMzk0NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgMC03Mi43ODkzMzRMMzMxLjYwNTMzMyAxNDMuMDE4NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAtNjQuOTM4NjY2IDM2LjQzNzMzM3Y2NjUuMDg4YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgNjQuOTM4NjY2IDM2LjM5NDY2N2w1NDQtMzMyLjU0NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tZGl5aWdlIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMzQxLjMzMzMzMyAxMjh2NzY4SDI1NlYxMjhoODUuMzMzMzMzek03ODAuNTAxMzMzIDg4My40OTg2NjdsLTM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDAtNjAuMzMwNjY2bDM0MS4zMzMzMzMtMzQxLjMzMzMzNCA2MC4zMzA2NjcgNjAuMzMwNjY3TDUyOS42NjQgNTEybDMxMS4xNjggMzExLjE2OC02MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1xaWFueWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTMxMS4xNjggNDgxLjgzNDY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzQgNjAuMzMwNjY3IDYwLjMzMDY2N0w0MDEuNjY0IDUxMmwzMTEuMTY4IDMxMS4xNjgtNjAuMzMwNjY3IDYwLjMzMDY2Ny0zNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMSAwLTYwLjMzMDY2NnoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24teGlheWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTcxMi44MzIgNDgxLjgzNDY2N2wtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjM3MzMzNCA2MC4zMzA2NjdMNjIyLjI5MzMzMyA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zNzMzMzQgNjAuMzMwNjY3IDM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDAtNjAuMzMwNjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi16YW50aW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNDI2LjY2NjY2NyAxNzAuNjY2NjY3SDIxMy4zMzMzMzN2NjgyLjY2NjY2NmgyMTMuMzMzMzM0VjE3MC42NjY2Njd6TTgxMC42NjY2NjcgMTcwLjY2NjY2N2gtMjEzLjMzMzMzNHY2ODIuNjY2NjY2aDIxMy4zMzMzMzRWMTcwLjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tenVpaG91eWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTY4Mi42NjY2NjcgMTI4djc2OGg4NS4zMzMzMzNWMTI4aC04NS4zMzMzMzN6TTI0My40OTg2NjcgODgzLjQ5ODY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMCAwLTYwLjMzMDY2NmwtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjMzMDY2NyA2MC4zMzA2NjdMNDk0LjMzNiA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTI4IDE4MS4zMzMzMzN2NjRoNzY4di02NEgxMjh6TTEyOCAzODRsMTkyIDEyOEwxMjggNjQwVjM4NHpNODk2IDQ4MEg0MjYuNjY2NjY3djY0aDQ2OS4zMzMzMzN2LTY0ek04OTYgNzc4LjY2NjY2N3Y2NEgxMjh2LTY0aDc2OHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tc3VvZmFuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTU5Ny4zMzMzMzMgNDEzLjM1NDY2N0gzOTQuNjY2NjY3djY0aDE3MC42NjY2NjZ2MTcwLjY2NjY2Nmg2NHYtMjAyLjY2NjY2NmEzMiAzMiAwIDAgMC0zMi0zMnoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0xMzguNjY2NjY3IDE4OS4zNTQ2NjdhMzIgMzIgMCAwIDEgMzItMzJoNjgyLjY2NjY2NmEzMiAzMiAwIDAgMSAzMiAzMnY2ODIuNjY2NjY2YTMyIDMyIDAgMCAxLTMyIDMySDE3MC42NjY2NjdhMzIgMzIgMCAwIDEtMzItMzJ2LTY4Mi42NjY2NjZ6IG02ODIuNjY2NjY2IDY1MC42NjY2NjZ2LTYxOC42NjY2NjZIMjAyLjY2NjY2N3YzMjBINDY5LjMzMzMzM2EzMiAzMiAwIDAgMSAzMiAzMnYyNjYuNjY2NjY2aDMyMHogbS02MTguNjY2NjY2IDBoMjM0LjY2NjY2NnYtMjM0LjY2NjY2NmgtMjM0LjY2NjY2NnYyMzQuNjY2NjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PC9zdmc+JywgZnVuY3Rpb24gKG8pIHsgdmFyIGEgPSAoYSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSlbYS5sZW5ndGggLSAxXSwgdCA9IGEuZ2V0QXR0cmlidXRlKCJkYXRhLWluamVjdGNzcyIpLCBhID0gYS5nZXRBdHRyaWJ1dGUoImRhdGEtZGlzYWJsZS1pbmplY3RzdmciKTsgaWYgKCFhKSB7IHZhciBpLCBlLCBoLCBsLCBuLCBjID0gZnVuY3Rpb24gKGEsIHQpIHsgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLCB0KSB9OyBpZiAodCAmJiAhby5fX2ljb25mb250X19zdmdfX2Nzc2luamVjdF9fKSB7IG8uX19pY29uZm9udF9fc3ZnX19jc3NpbmplY3RfXyA9ICEwOyB0cnkgeyBkb2N1bWVudC53cml0ZSgiPHN0eWxlPi5zdmdmb250IHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDFlbTtoZWlnaHQ6IDFlbTtmaWxsOiBjdXJyZW50Q29sb3I7dmVydGljYWwtYWxpZ246IC0wLjFlbTtmb250LXNpemU6MTZweDt9PC9zdHlsZT4iKSB9IGNhdGNoIChhKSB7IGNvbnNvbGUgJiYgY29uc29sZS5sb2coYSkgfSB9IGkgPSBmdW5jdGlvbiAoKSB7IHZhciBhLCB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IHQuaW5uZXJIVE1MID0gby5faWNvbmZvbnRfc3ZnX3N0cmluZ18zOTI5MjA5LCAodCA9IHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN2ZyIpWzBdKSAmJiAodC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgInRydWUiKSwgdC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSIsIHQuc3R5bGUud2lkdGggPSAwLCB0LnN0eWxlLmhlaWdodCA9IDAsIHQuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIiwgdCA9IHQsIChhID0gZG9jdW1lbnQuYm9keSkuZmlyc3RDaGlsZCA/IGModCwgYS5maXJzdENoaWxkKSA6IGEuYXBwZW5kQ2hpbGQodCkpIH0sIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgPyB+WyJjb21wbGV0ZSIsICJsb2FkZWQiLCAiaW50ZXJhY3RpdmUiXS5pbmRleE9mKGRvY3VtZW50LnJlYWR5U3RhdGUpID8gc2V0VGltZW91dChpLCAwKSA6IChlID0gZnVuY3Rpb24gKCkgeyBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZSwgITEpLCBpKCkgfSwgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGUsICExKSkgOiBkb2N1bWVudC5hdHRhY2hFdmVudCAmJiAoaCA9IGksIGwgPSBvLmRvY3VtZW50LCBuID0gITEsIGQoKSwgbC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7ICJjb21wbGV0ZSIgPT0gbC5yZWFkeVN0YXRlICYmIChsLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGwsIHYoKSkgfSkgfSBmdW5jdGlvbiB2KCkgeyBuIHx8IChuID0gITAsIGgoKSkgfSBmdW5jdGlvbiBkKCkgeyB0cnkgeyBsLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpIH0gY2F0Y2ggKGEpIHsgcmV0dXJuIHZvaWQgc2V0VGltZW91dChkLCA1MCkgfSB2KCkgfSB9KHdpbmRvdyk7",self.location).href}),rt=i=>Ie(exports,[i],function*({target:t,value:M}){try{let n="";if(!navigator.clipboard)return console.warn("Browser don't have support for native clipboard."),!1;if(t){const z=document.querySelector(t);if(!z||!z.textContent)return console.warn("Element not found"),!1;M=z.textContent}return M&&(n=M),yield navigator.clipboard.writeText(n),!0}catch(n){return!1}});const fe=({text:t})=>{const[M,i]=o.useState();return o.useEffect(()=>{M&&setTimeout(()=>i(void 0),2e3)},[M]),M?e.jsx("div",{className:"copy-tip",children:M==="success"?e.jsx(UM.CheckOutlined,{style:{color:"rgba(48, 191, 19, 1)"}}):e.jsx(UM.CloseOutlined,{style:{color:"#dc4446"}})}):e.jsx(BM.Tooltip,{title:"复制",children:e.jsx("div",{className:"copy-btn",onClick:()=>{rt({value:t}).then(n=>{i(n?"success":"failed")})},children:e.jsx(X,{type:"icon-fuzhi"})})})},at=s=>{var j=s,{node:t,inline:M,className:i,children:n}=j,z=dM(j,["node","inline","className","children"]);const g=/language-(\w+)/.exec(i||""),N=g?g[1]:null;return!M&&N?e.jsxs("div",{className:"markdown-code",children:[e.jsxs("div",{className:"markdown-code-title",children:[e.jsx("span",{className:"markdown-code-title-text",children:N}),e.jsx(BM.Space,{className:"markdown-code-title-action",children:e.jsx(fe,{text:String(n)})})]}),e.jsx(Ke.Prism,MM(Y({className:"markdown-code-context",language:N},z),{wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:String(n).replace(/\n$/,"")}))]}):e.jsx("code",MM(Y({className:i},z),{children:n}))},me=at,gt=t=>{var z,s;const n=t,{node:M}=n,i=dM(n,["node"]);if(M.tagName==="a"&&((z=M.children)==null?void 0:z.length)>0){const j=((s=M.children[0])==null?void 0:s.value)||"";let g=/(^https?:\/\/|^www\.)(?:www\.)?[\w\-]+(\.[\w\-]+)+(\/[\w\- .\/?%&=]*)?/g,N=j.match(g),c=j.replace(g,"").trim();if(!(N!=null&&N.length))return e.jsx("a",Y({},i));const u=N[0];return e.jsxs(e.Fragment,{children:[e.jsx("a",MM(Y({href:/^www\./.test(u)?"//"+u:u,onClick:()=>window.open(t.href,t.target||"_blank")},i),{children:u})),c]})}return e.jsx("a",Y({},i))},he=gt,lt=s=>{var j=s,{showLatex:t=!0,components:M={},componentProps:i,children:n}=j,z=dM(j,["showLatex","components","componentProps","children"]);const g=o.useRef(null),N=Y({img(c){return e.jsx(Ee,Y(Y({},c),i==null?void 0:i.img))},code(c){return e.jsx(me,Y(Y({},c),i==null?void 0:i.code))},video(c){return e.jsx(ZM,Y(Y({},c),i==null?void 0:i.video))},a(c){return e.jsx(he,Y(Y({},c),i==null?void 0:i.a))}},M);return e.jsx("div",{ref:g,children:e.jsx(Ze,MM(Y({className:"markdown",rehypePlugins:[$e,He,[Je,{target:"_blank"}]],remarkPlugins:[Fe,[Ve,{singleTilde:!1}]]},z),{children:t?st(n):n,components:N}))})};const sM=t=>{var M;return e.jsx("button",MM(Y({},t),{className:`g-icon-btn disabled ${(M=t==null?void 0:t.className)!=null?M:""}`}))},ut=t=>{var I,T;const M=o.useRef(null),{className:i,headerClassName:n,style:z,visible:s,mode:j="normal",header:g,icons:N={collapseButton:e.jsx(X,{type:"icon-yincang"}),expandButton:e.jsx(X,{type:"icon-yincang"}),fullscreenButton:e.jsx(X,{type:"icon-suofang"}),exitFullscreenButton:e.jsx(X,{type:"icon-suofang"})},extraButtons:c=[],onNormalize:u,onMinimize:L,onMaximize:f}=t,[A,a]=o.useState(j==="max"),[m,C]=o.useState(j==="min"),S=o.useRef(null),[h,U]=o.useState(j);o.useEffect(()=>{a(j==="max"),C(j==="min"),U(j)},[j]);const Q=()=>{a(!A),U(A?"normal":"max"),A?u&&u():f&&f()},B=()=>{C(!m),U(m?"normal":"min"),m?u&&u():L&&L()};o.useEffect(()=>{S.current&&A&&(S.current.style.transform="none")},[A]);const W=(T=t.fullScreenContainer)!=null?T:(I=M.current)==null?void 0:I.parentElement,l=W==null?void 0:W.getBoundingClientRect(),v={position:"fixed",top:l==null?void 0:l.y,left:l==null?void 0:l.x,width:m?0:l==null?void 0:l.width,height:l==null?void 0:l.height};return e.jsxs("div",{className:"g-expandable-pannel-wrap",style:Y({visibility:s!==!1?"visible":"hidden",position:A&&!m?"absolute":"unset"},A?v:null),ref:M,children:[!m&&e.jsxs("div",{className:`g-expandable-pannel ${A?"full":""} `,style:Y({},z),children:[g!=null?g:e.jsx("div",{className:`g-expandable-pannel-header ${n!=null?n:""}`,children:e.jsx(sM,{onClick:Q,children:A?N.exitFullscreenButton:N.fullscreenButton})}),e.jsx("div",{className:"g-expandable-pannel-body",children:t.children})]}),e.jsx("div",{className:`g-expandable-pannel-expand-bar ${m?"collapsed":"expaned"} ${n!=null?n:""}`,children:e.jsx(sM,{onClick:B,children:m?N.expandButton:N.collapseButton})})]})};const Dt={stroke:"rgba(255, 77, 79, 0.25)",strokeWidth:1},Se=t=>{const{style:M,passes:i,scale:n,activePassId:z,passStyle:s,activePassStyle:j}=t;return e.jsx("svg",{className:"pass-map",style:M,children:i.map((g,N)=>{var u;const c=g.id===z?j:Dt;return e.jsx("g",{children:e.jsx("polygon",{points:(u=g.points)==null?void 0:u.map(L=>`${L.x*n} ${L.y*n}`).join(","),style:Y(Y(Y({},s),g.passStyle),c)})},N)})})};const yt=t=>{var L,f,A,a;const u=t,{children:M,open:i,point:n,key:z,style:s}=u,j=dM(u,["children","open","point","key","style"]),[g,N]=o.useState(i&&n.tooltipOpen!==void 0?n.tooltipOpen:void 0),c=o.useRef(null);return o.useEffect(()=>{var S,h;if(!n.tooltipRender||!c.current)return;const m=n.tooltipRender(n);if(typeof m=="string"||typeof m=="number"){c.current.innerText=m.toString();return}const C=(S=c.current)==null?void 0:S.firstChild;C?C.replaceWith(m):(h=c.current)==null||h.appendChild(m),console.log("tooltip inner text",n.id),console.log(new Date().valueOf())},[n.tooltipRender,g]),o.useEffect(()=>{N(n.tooltipOpen!==void 0?n.tooltipOpen&&i:void 0)},[n.tooltipOpen!==void 0?n.tooltipOpen&&i:void 0]),console.log("render PointTooltip",n.id),console.log(new Date().valueOf()),e.jsx(we,MM(Y({},j),{autoAdjustOverflow:!1,placement:"top",open:n.tooltipOpen!==void 0?n.tooltipOpen&&i:void 0,onOpenChange:m=>{var h,U;if(n.tooltipOpen||N(m),console.log("tooltip inner text",n.id),console.log(new Date().valueOf()),!n.tooltipRender||!c.current)return;const C=n.tooltipRender(n);if(typeof C=="string"||typeof C=="number"){c.current.innerText=C.toString();return}const S=(h=c.current)==null?void 0:h.firstChild;S?S.replaceWith(C):(U=c.current)==null||U.appendChild(C)},color:((L=n.tooltipStyle)==null?void 0:L.backgroundColor)||((f=n.tooltipStyle)==null?void 0:f.backgroundImage)||((a=(A=n.tooltipStyle)==null?void 0:A.background)==null?void 0:a.toString()),title:e.jsx("div",{ref:c},z),overlayInnerStyle:n.tooltipStyle,destroyTooltipOnHide:!0,style:Y({zIndex:9},s),motion:{forceRender:!0},children:M}))},It=yt,dt={attributes:!0,characterData:!0},Tt=t=>{const M=o.useRef(null),{point:i,open:n,id:z,x:s,y:j,r:g,active:N=!1,hidden:c=!1,onPointClick:u,getTooltipContainer:L}=t,[f,A]=o.useState(t.style),[a,m]=o.useState(!0);o.useEffect(()=>{const h=Mt.diff(f,t.style);Object.keys(h).length&&A(t.style)},[t.style]);const C=o.useMemo(()=>e.jsx("circle",{id:`mark-${z}`,className:"point point-active",cx:s,cy:j,r:g,ref:M,style:f,onClick:()=>u&&u(i)}),[s,j,g,f,N]),S=o.useMemo(()=>{const h=et(()=>{m(!0),console.log("show tooltip",i.id),console.log(new Date().valueOf())},200);return new MutationObserver(()=>{console.log("circle is changed"),console.log("hide tooltip",i.id),console.log(new Date().valueOf()),m(!1),h()})},[]);return o.useEffect(()=>{if(!(!M.current||!i.tooltipRender))return S.observe(M.current,dt),()=>{M.current&&S.disconnect()}},[s,j,g]),c?e.jsx(e.Fragment,{}):i.tooltipRender&&a?e.jsx(It,{open:n,point:i,getPopupContainer:L,children:C}):C},de=Tt,Oe=t=>{var mM;const{width:M,height:i,points:n,scale:z,pointSize:s=6,direction:j,activePointId:g,style:N,lineStyle:c,pointStyle:u,directionStyle:L,marks:f,resizable:A,transform:a,keepRatio:m=!1,onPointClick:C,onTransform:S,onPointsChange:h,onCancelResize:U,actions:Q=!0,setIsSaved:B,isSaved:W=!1}=t,l=o.useRef(null),v=o.useRef(null),I=o.useRef(null),T=o.useRef(null),E=o.useRef(null),[_,oM]=o.useState(null),[D,d]=o.useState((a==null?void 0:a.scale)||[1,1]),[O,P]=o.useState((a==null?void 0:a.rotate)||0),[Z,gM]=o.useState((a==null?void 0:a.translate)||[0,0,0,0]),[jM,eM]=o.useState([]),[R,zM]=o.useState(),[rM,nM]=o.useState(),[iM,H]=o.useState(A),[TM,J]=o.useState([]),[K,LM]=o.useState(n),[AM,WM]=o.useState(!0),[F,uM]=o.useState(),[q,cM]=o.useState(),[xM,kM]=o.useState(typeof Q!="boolean"?Q:Q===!0?{}:null),DM=(s-s/4*.9)*2/z;o.useEffect(()=>{kM(typeof Q!="boolean"?Q:Q===!0?{}:null)},[Q]);const pM=(r,y)=>{if(!r.length)return;let b;return r.map(w=>{var tM;if(!b){b=w;return}const G=e.jsx("line",{x1:Number.isFinite(b.x)?b.x:0,y1:Number.isFinite(b.y)?b.y:0,x2:Number.isFinite(w.x)?w.x:0,y2:Number.isFinite(w.y)?w.y:0,style:MM(Y(Y({stroke:"#1F66E1BF"},c),b.lineStyle),{strokeWidth:Number((c==null?void 0:c.strokeWidth)||((tM=b.lineStyle)==null?void 0:tM.strokeWidth)||2)/y})},w.id);return b=w,G})},wM=new ResizeObserver(()=>{l.current&&(v.current&&(v.current.style.transform="none",v.current.style.width="auto",v.current.style.height="100%"),v.current&&(v.current.style.width="100%",v.current.style.height="100%"))});o.useEffect(()=>{var r;cM((r=I.current)==null?void 0:r.getBoundingClientRect())},[N==null?void 0:N.left,N==null?void 0:N.top,N==null?void 0:N.width,N==null?void 0:N.height,z]),o.useEffect(()=>{H(A)},[A]),o.useEffect(()=>{LM(n||[])},[n,TM]),o.useEffect(()=>{var r;(!((r=I.current)!=null&&r.style.transform)||I.current.style.transform==="none")&&(d((a==null?void 0:a.scale)||[1,1]),P((a==null?void 0:a.rotate)||0),gM((a==null?void 0:a.translate)||[0,0,0,0]))},[(mM=I.current)==null?void 0:mM.style.transform]),o.useEffect(()=>{!I.current||iM||(I.current.style.transform="none",d((a==null?void 0:a.scale)||[1,1]),P((a==null?void 0:a.rotate)||0),gM((a==null?void 0:a.translate)||[0,0,0,0]))},[iM]),o.useEffect(()=>{if(l.current)return wM.observe(l.current),()=>{l.current&&wM.unobserve(l.current)}},[l.current]),o.useEffect(()=>{!_||!a||(_.throttleDragRotate=a.rotate,_.throttleScale=a.scale,_.throttleDrag=a.translate)},[_,a]),o.useEffect(()=>{zM(K==null?void 0:K.find(y=>y.id===g));let r=K.map(y=>{var tM,hM,IM;const b=y.x,x=y.y,w=y.id===g,G=s*(w?1.2:1)/z;return e.jsx(de,{open:AM,id:y.id,point:y,getTooltipContainer:()=>E.current||document.body,x:b,y:x,r:u!=null&&u.r||(tM=y.pointStyle)!=null&&tM.r?Number((u==null?void 0:u.r)||((hM=y.pointStyle)==null?void 0:hM.r))/z:G/2,hidden:w,style:MM(Y(Y({stroke:"#1F66E1BF",fill:"#fff",cursor:C?"pointer":"unset"},u),y.pointStyle),{strokeWidth:Number(((IM=y.pointStyle)==null?void 0:IM.strokeWidth)||2)/z,r:void 0}),onPointClick:C},y.id)})||[];eM(r)},[K,g,z,AM]),o.useEffect(()=>{var w,G,tM;if(!R){nM(void 0);return}const r=R.x,y=R.y,b=R.id===g,x=s*(b?1.2:1)/z;nM(e.jsxs("g",{children:[j!==void 0&&e.jsx("circle",{id:`mark-${R.id}`,cx:r,cy:y,r:`${DM}`,strokeDasharray:DM*2*Math.PI,strokeDashoffset:DM*2*Math.PI/360*(360-60),style:Y({transform:`rotate(${j+240}deg)`,transformOrigin:`${r}px ${y}px`,strokeWidth:DM*2,stroke:"#1F66E1BF",fill:"transparent",pointerEvents:"none"},L)}),e.jsx(de,{open:AM,point:R,getTooltipContainer:()=>E.current||document.body,x:r,y,r:(w=R.pointStyle)!=null&&w.r?Number((G=R.pointStyle)==null?void 0:G.r)/z:x/2,style:MM(Y(Y({stroke:"#1F66E1BF",fill:"#fff"},u),R.pointStyle),{strokeWidth:Number(((tM=R.pointStyle)==null?void 0:tM.strokeWidth)||2)/z,r:void 0}),onPointClick:C},R.id)]},R.id))},[R,j,z,AM]),o.useEffect(()=>{I.current&&setTimeout(()=>{var r,y;uM((r=I.current)==null?void 0:r.getBBox()),cM((y=I.current)==null?void 0:y.getBoundingClientRect())},100)},[a]),o.useEffect(()=>{var y,b;if(!I.current)return;uM((y=I.current)==null?void 0:y.getBBox()),cM((b=I.current)==null?void 0:b.getBoundingClientRect()),new ResizeObserver(()=>{var x,w;uM((x=I.current)==null?void 0:x.getBBox()),cM((w=I.current)==null?void 0:w.getBoundingClientRect())}).observe(I.current)},[I.current]),o.useEffect(()=>{W&&(NM(),B&&B(!1))},[W]);const NM=()=>{var x;const r=(x=T.current)==null?void 0:x.getBoundingClientRect();if(!r){h&&h(n),H(!1);return}const y=TM.map(w=>{const G=w.getBoundingClientRect();return{id:w.id.split("-")[1],x:(G.x+G.width/2-r.x)/z,y:(G.y+G.height/2-r.y)/z}}),b=n.map(w=>{const G=y==null?void 0:y.find(tM=>tM.id.toString()===w.id.toString());return G?Y(Y({},w),G):w});LM(b),h&&h(b.length?b.map((w,G)=>({id:w.id,x:w.x,y:w.y,order:G})):n),H(!1)},yM=r=>r.map(y=>{const{render:b,renderData:x}=y,w=y.x*z,G=y.y*z;return e.jsx(we,{className:"track-map-marker-tooltip",placement:"top",title:b(x,Y({},y)),open:!!x,style:{zIndex:9999},children:e.jsx("circle",{id:`mark-${y.id}`,cx:w,cy:G,r:s/2,style:{stroke:"#1F66E100",strokeWidth:2,fill:"#fff0"},children:e.jsx("span",{children:x.label})})},y.id)}),CM=F?{x:F.x+F.width/2,y:F.y+F.height/2}:{x:0,y:0},EM=K.reduce((r,y)=>[Math.min(r[0],y.x),Math.max(r[1],y.x)],[0,0]),fM=K.reduce((r,y)=>[Math.min(r[0],y.y),Math.max(r[1],y.y)],[0,0]);return e.jsx(BM.ConfigProvider,{prefixCls:"g-rc",children:e.jsxs("div",{className:"track-map",style:{width:"100%",height:"100%"},ref:l,children:[e.jsx("svg",{style:N,ref:T,viewBox:`0 0 ${M} ${i}`,children:e.jsxs("g",{ref:I,x:EM[0],y:fM[0],width:EM[1]-EM[0],height:fM[1]-fM[0],style:{transformOrigin:`${CM.x}px ${CM.y}px`,cursor:iM?"url('./images/icon-move.svg') 16 16, move":"unset",transform:a&&a.scale?`${a.translate?` translate(${a.translate[0]}px, ${a.translate[1]}px)`:""} rotate(${a.rotate}rad)${a.scale?` scale(${a.scale[0]}, ${a.scale[1]})`:""}`:"none"},children:[F&&e.jsx("rect",{x:F.x,y:F.y,width:F.width,height:F.height,fill:"#ff000004"}),e.jsx("g",{className:"track-lines",children:pM((K==null?void 0:K.filter(r=>r.order>-1))||[],z)}),e.jsxs("g",{className:"track-points",children:[jM,rM]}),f&&e.jsx("g",{children:yM(f)})]})}),e.jsx("div",{className:"tooltip-container",ref:E,style:{position:"fixed",top:(q==null?void 0:q.y)||0,left:(q==null?void 0:q.x)||0,width:(q==null?void 0:q.width)||0,height:(q==null?void 0:q.height)||0}}),iM&&I.current&&T.current&&e.jsx(qe,{className:"path-moveable-control-box",ref:r=>{oM(r)},keepRatio:m,target:[I.current],draggable:!0,scalable:!0,rotatable:!0,padding:{left:10,right:10,top:10,bottom:10},onDrag:({target:r,beforeDelta:y,beforeDist:b,left:x,top:w,right:G,bottom:tM,delta:hM,dist:IM,transform:YM,clientX:VM,clientY:HM})=>{gM(IM),r.style.transform=YM},onDragStart:({inputEvent:r})=>{r.stopPropagation()},onDragEnd:()=>{var y;const r=(y=I.current)==null?void 0:y.getElementsByTagName("circle");J(r!=null&&r.length?[...r]:[]),S&&S({rotate:O,translate:Z,scale:D},r!=null&&r.length?[...r]:[],T.current||void 0)},renderDirections:m?["nw","ne","sw","se"]:["n","w","e","s","nw","ne","sw","se"],onScale:({target:r,scale:y,transform:b})=>{var w;d(y),r.style.transform=b;const x=(w=I.current)==null?void 0:w.getElementsByTagName("circle");J(x!=null&&x.length?[...x]:[]),S&&S({rotate:O,translate:Z,scale:y},x!=null&&x.length?[...x]:[],T.current||void 0)},onRotate:({target:r,dist:y,transform:b})=>{var w;P(y),r.style.transform=b;const x=(w=I.current)==null?void 0:w.getElementsByTagName("circle");J(x!=null&&x.length?[...x]:[]),S&&S({rotate:y,translate:Z,scale:D},x!=null&&x.length?[...x]:[],T.current||void 0)},onRenderEnd:()=>{var y,b,x;const r=(y=I.current)==null?void 0:y.getElementsByTagName("circle");S&&S({rotate:O,translate:Z,scale:D},r!=null&&r.length?[...r]:[],T.current||void 0),uM((b=I.current)==null?void 0:b.getBBox()),cM((x=I.current)==null?void 0:x.getBoundingClientRect())}})]})})},Te=t=>{const{name:M,type:i,style:n,className:z,children:s,onConfirm:j}=t,[g,N]=o.useState(null);return o.useEffect(()=>{if(!t.confirm){N(null);return}if(t.confirm===!0){N({text:`确认${M}吗?`});return}N(t.confirm)},[t.confirm]),g?e.jsx(tt,{rootClassName:"track-map-popconfirm",okText:"确定",cancelText:"取消",title:g.text,trigger:"click",onConfirm:j,children:e.jsx(PM,{className:z,type:i,style:Y({},n),children:s||M})}):e.jsx(PM,{className:z,type:i,onClick:j,children:s||M})};let Ae;const At=o.forwardRef((t,M)=>{var FM,$M,XM,_M,KM,qM,Me,ee,te,ne,ie,oe,ze,Ne,se,je,ce,re,ae,ge,le;const{url:i,points:n,pointSize:z,direction:s,activePointId:j,lineStyle:g,pointStyle:N,directionStyle:c,onPointClick:u,passes:L,activePassId:f,passStyle:A,activePassStyle:a,marks:m,draggable:C=!1,offsetEdge:S=[50,50,50,50],zoomable:h=!1,zoomStep:U=.02,zoomMax:Q=2,zoomMin:B=0,onImageLoad:W,trackEditable:l,trackEditing:v,keepRatio:I,transform:T,onTrackEditingChange:E,onTransform:_,onPointsChange:oM,actions:D=!0}=t,d=o.useRef({}),O=o.useRef({}),[P,Z]=o.useState(0),[gM,jM]=o.useState(0),[eM,R]=o.useState(1),[zM,rM]=o.useState(0),[nM,iM]=o.useState(0),[H,TM]=o.useState(0),[J,K]=o.useState(0),[LM,AM]=o.useState(!1),[WM,F]=o.useState(!1),[uM,q]=o.useState(),[cM,xM]=o.useState({x:0,y:0}),[kM,DM,pM,wM]=S,[NM,yM]=o.useState(v),[CM,EM]=o.useState(1),[fM,mM]=o.useState(!1),[r,y]=o.useState(typeof D!="boolean"?D:D===!0?{}:null);o.useEffect(()=>{EM(Math.round(eM*100)/100)},[eM]),o.useEffect(()=>{yM(v)},[v]),o.useEffect(()=>{Ae=new ResizeObserver(b),Ae.observe(O.current);const k=p=>(p.preventDefault(),!1);return O.current.addEventListener("wheel",k),()=>{O.current.removeEventListener("wheel",k)}},[]);const b=()=>{if(!O.current)return;const k=O.current.clientWidth,p=O.current.clientHeight,V=d.current.naturalWidth,$=d.current.naturalHeight,lM=k/V,bM=p/$,SM=lM<bM?lM:bM,Qe=(k-V*SM)/2,Ue=(p-$*SM)/2,Be=V*SM,We=$*SM;Z(k),jM(p),R(SM),rM(Qe),iM(Ue),TM(Be),K(We),AM(!0),W&&W(d.current)},x=()=>{if(!h||eM>=Q)return;let k=eM*(1+U),p=U;k>=Q&&(k=Q,p=Q/eM-1),rM(zM-H*(p/2)),iM(nM-J*(p/2)),TM(H+H*p),K(J+J*p),R(k),YM()},w=()=>{if(!h||eM<=B)return;let k=eM*(1-U),p=U;k<=B&&(k=B,p=1-B/eM),rM(zM-H*(-p/2)),iM(nM-J*(-p/2)),TM(H+H*-p),K(J+J*-p),R(k),YM()};o.useImperativeHandle(M,()=>({zoomIn:x,zoomOut:w}));const G=k=>(k.nativeEvent.deltaY<0?x():w(),!1),tM=k=>{F(!0);const{pageX:p,pageY:V}=k;xM({x:p,y:V})},hM=k=>{if(!WM)return!1;const{pageX:p,pageY:V}=k,$=p-cM.x,lM=V-cM.y;xM({x:p,y:V}),rM(zM+$),iM(nM+lM),YM()},IM=()=>{F(!1)};window.onmouseup=()=>{F(!1)};const YM=()=>{zM<-H+wM&&rM(-H+wM),nM<-J+kM&&iM(-J+kM),zM>P-DM&&rM(P-DM),nM>gM-pM&&iM(gM-pM)},VM=()=>{yM(!NM),E&&E(!NM)},HM=k=>{const{touches:p}=k;if(console.log("onTouchStart"),console.log(p),F(!0),p.length<2){const{clientX:V,clientY:$}=p[0];xM({x:V,y:$})}else q(p)},pe=k=>{if(!WM||!k.touches)return!1;const{clientX:p,clientY:V}=k.touches[0];if(k.touches.length<2){const $=p-cM.x,lM=V-cM.y;xM({x:p,y:V}),rM(zM+$),iM(nM+lM),YM()}else{console.log("onTouchMove"),console.log(k.touches);const $=k.touches,lM=JM($[0],$[1]),bM=JM(uM[0],uM[1]);lM>bM?x():w()}},JM=(k,p)=>{const V=p.pageX-k.pageX,$=p.pageY-k.pageY;return Math.sqrt(V*V+$*$)};o.useEffect(()=>{y(typeof D!="boolean"?D:D===!0?{}:null)},[D]);const be=()=>{yM(!1),E&&E(!1)},ve=()=>{mM(!0)};return e.jsxs("div",{className:"image-map",ref:O,onMouseDown:C?tM:void 0,onMouseMove:C?hM:void 0,onMouseUp:C?IM:void 0,onWheel:C?G:void 0,onTouchStart:C?HM:void 0,onTouchMove:C?pe:void 0,onTouchEnd:C?IM:void 0,children:[e.jsx("img",{className:"img",style:{position:"absolute",left:zM,top:nM,width:H,height:J},ref:d,onLoad:b,src:i,alt:""}),LM&&(L==null?void 0:L.length)&&e.jsx(Se,{style:{position:"absolute",left:zM,top:nM,width:H,height:J},passes:L,scale:eM,activePassId:f,passStyle:A,activePassStyle:a}),LM&&!!(n!=null&&n.length)&&e.jsx(Oe,{style:{position:"absolute",left:zM,top:nM,width:H,height:J,overflow:"visible"},width:d.current.naturalWidth,height:d.current.naturalHeight,transform:T,movable:NM,resizable:NM,points:n,scale:eM,pointSize:z,direction:s,activePointId:j,lineStyle:g,pointStyle:N,directionStyle:c,keepRatio:I,marks:m,onPointClick:u,onTransform:_,onPointsChange:k=>{oM&&oM(k),yM(!1),E&&E(!1)},onCancelResize:()=>{yM(!1),E&&E(!1)},actions:D,setIsSaved:mM,isSaved:fM}),l&&e.jsxs("div",{className:"image-map-toolbar",children:[e.jsx(ke,{className:"zoom-controller",value:CM,min:B,max:Q,step:U,showText:!0,onChange:k=>{CM>k?w():x()}}),l&&(NM&&D?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsxs("div",{className:"editing-controller",children:[e.jsx(Te,{children:typeof D!="boolean"&&((FM=D.cancelButton)==null?void 0:FM.children)||void 0,name:typeof D!="boolean"&&(($M=D.cancelButton)==null?void 0:$M.text)||"退出编辑",className:`editing-controller${NM?" active":""} ${typeof D!="boolean"&&((XM=D.cancelButton)==null?void 0:XM.className)||""}`,confirm:((_M=r==null?void 0:r.cancelButton)==null?void 0:_M.confirm)===!0?{text:"调整记录将不被保存"}:(KM=r==null?void 0:r.cancelButton)!=null&&KM.confirm?r.cancelButton.confirm:!1,style:typeof D!="boolean"&&((qM=D.cancelButton)==null?void 0:qM.style)||void 0,onConfirm:be}),e.jsx(Te,{type:"primary",children:typeof D!="boolean"&&((Me=D.okButton)==null?void 0:Me.children)||e.jsxs("div",{className:"save-detail",children:[e.jsx(UM.SaveOutlined,{}),e.jsx("span",{children:"保存"})]}),name:typeof D!="boolean"&&((ee=D.okButton)!=null&&ee.confirm)?((te=D.okButton)==null?void 0:te.text)||"保存":"确定",className:`editing-controller${NM?" active":""} ${typeof D!="boolean"&&((ne=D.okButton)==null?void 0:ne.className)||""}`,confirm:((ie=r==null?void 0:r.okButton)==null?void 0:ie.confirm)===!0?{text:"调整记录保存后,将改变当前巡检数据状态"}:(oe=r==null?void 0:r.okButton)!=null&&oe.confirm?r.okButton.confirm:!1,style:typeof D!="boolean"&&((ze=D.okButton)==null?void 0:ze.style)||void 0,onConfirm:ve})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsx("div",{className:"moveable-controller",children:e.jsx(PM,{title:NM?typeof D!="boolean"&&((Ne=D.editButton)==null?void 0:Ne.exitTitleText)||"退出编辑":typeof D!="boolean"&&((se=D.editButton)==null?void 0:se.titleText)||"调整轨迹",className:`moveable-controller-btn${NM?" active":""} ${typeof D!="boolean"&&((je=D.editButton)==null?void 0:je.className)||""}`,style:typeof D!="boolean"&&((ce=D.editButton)==null?void 0:ce.style)||void 0,onClick:VM,children:typeof D!="boolean"?(re=D.editButton)!=null&&re.children?(ae=D.editButton)==null?void 0:ae.children:(ge=D.editButton)!=null&&ge.text?e.jsx("span",{children:(le=D.editButton)==null?void 0:le.text}):e.jsxs("div",{className:"btn-change",children:[e.jsx(X,{type:"icon-tiaozheng"}),e.jsx("span",{children:"修改"})]}):void 0})})]}))]})]})}),Yt=t=>{const{className:M,style:i,length:n=0,current:z=0,speed:s=2e3,play:j=!1,loop:g=!1,loading:N=!1,onChange:c}=t,[u,L]=o.useState(j),[f,A]=o.useState(z),[a,m]=o.useState(null);o.useEffect(()=>{A(z)},[z]),o.useEffect(()=>{L(j)},[j]),o.useEffect(()=>{u?C():f>=n-1&&(A(0),c(0))},[u]),o.useEffect(()=>{u&&(N?a&&(clearTimeout(a),m(null)):m(setTimeout(C,s)))},[N]);const C=()=>{A(U=>U<n-1?(c(U+1),U+1):g?(c(0),0):(h(),U))},S=()=>{f>=n-1&&A(0),L(!0)},h=()=>{L(!1),a&&(clearTimeout(a),m(null))};return e.jsxs("div",{className:M,style:i,children:[e.jsx(sM,{disabled:f<=0||N,onClick:()=>{c(0),A(0)},children:e.jsx(X,{type:"icon-diyige"})}),e.jsx(sM,{disabled:f<=0||N,onClick:()=>{c(f-1),A(f-1)},children:e.jsx(X,{type:"icon-qianyige"})}),u?e.jsx(sM,{onClick:h,children:e.jsx(X,{type:"icon-zanting"})}):e.jsx(sM,{disabled:f>=n-1||N,onClick:S,children:e.jsx(X,{type:"icon-bofang"})}),e.jsx(sM,{disabled:f>=n-1||N,onClick:()=>{c(f+1),A(f+1)},children:e.jsx(X,{type:"icon-xiayige"})}),e.jsx(sM,{disabled:f>=n-1||N,onClick:()=>{c(n-1),A(n-1)},children:e.jsx(X,{type:"icon-zuihouyige"})})]})};const Lt=16,xt=16,wt=-1,Ct=1,Et=-1,ft=1,mt=t=>{const M=t||window.event,i=t.target||t.srcElement;if(M.offsetX)return M.offsetX;{const n=i.getBoundingClientRect();return M.clientX-n.left}},ht=t=>{const M=t||window.event,i=t.target||t.srcElement;if(M.offsetY)return M.offsetY;{const n=i.getBoundingClientRect();return M.clientY-n.top}},St=t=>{const M=t.split("-");let i=M.length>1||M[0]==="left"||M[0]==="right"?M[0]:"center",n=M.length>1?M[1]:M[0]==="top"||M[0]==="bottom"?M[0]:"middle";return[i,n]},Ot=(t,M,i=[Lt,xt])=>{const n=()=>{switch(t[0]){case"left":return wt;case"right":return Ct;default:return 0}},z=()=>{switch(t[1]){case"top":return Et;case"bottom":return ft;default:return 0}},s=()=>{switch(t[0]){case"left":return-((M==null?void 0:M.width)||0)-i[0]-2;case"right":return 0;default:return-((M==null?void 0:M.width)||0)/2}},j=()=>{switch(t[1]){case"top":return-i[1]-2;case"bottom":return(M==null?void 0:M.height)||0;default:return((M==null?void 0:M.height)||0)/2}};return{x:i[0]*n()+s(),y:i[1]*z()+j()}},kt=t=>{var Q;const{children:M,defaultPosition:i,forElement:n,placement:z="right-bottom",curserPosition:s,className:j,style:g}=t,N=o.useRef(null),c=o.useRef(null),u=n||document.body,L=St(z),f=Ot(L,(Q=c.current)==null?void 0:Q.getBoundingClientRect(),s),[A,a]=o.useState(t.visible||!0),[m,C]=o.useState(i||{x:-2e3,y:-2e3});o.useEffect(()=>(u.addEventListener("mouseenter",S),u.addEventListener("mousemove",U),u.addEventListener("mouseleave",h),()=>{u.removeEventListener("mouseenter",S),u.removeEventListener("mousemove",U),u.removeEventListener("mouseleave",h)}),[u]),o.useEffect(()=>{a(t.visible||!0)},[t.visible]);const S=()=>{a(!0)},h=()=>{a(!1)},U=B=>{let W=mt(B)+f.x;const l=ht(B)+f.y;C({x:W,y:l})};return e.jsx("div",{className:`g-mouse-tip ${L.join(" ")}`,ref:N,style:{left:`${m.x}px`,top:`${m.y}px`,visibility:`${A?"visible":"hidden"}`},children:e.jsx("div",{className:`g-mouse-tip-content ${j}`,style:g,ref:c,children:M})})},ke=t=>{const{className:M,style:i,value:n,min:z,max:s,step:j=1,onChange:g,showText:N=!1}=t,[c,u]=o.useState(n!=null?n:0);return o.useEffect(()=>{u(n!=null?n:0)},[n]),e.jsxs("div",{className:M,style:i,children:[e.jsx(sM,{disabled:!!(s&&s<=c),onClick:()=>{g(c+j),u(c+j)},children:e.jsx(X,{type:"icon-fangda"})}),N&&e.jsxs("div",{style:{width:40,textAlign:"center"},children:[Math.round(c*100),"%"]}),e.jsx(sM,{disabled:!!(z&&z>=c),onClick:()=>{g(c-j),u(c-j)},children:e.jsx(X,{type:"icon-suoxiao"})})]})};function pt(t,M){var i=document.getElementsByTagName("body")[0],n=document.createElement("script");n.setAttribute("type","text/javascript"),n.setAttribute("src",t),i.appendChild(n),n.onload=M}function bt(t){const[M,i]=o.useState(!1),[n,z]=o.useState(),[s,j]=o.useState(),[g,N]=o.useState(!1),[c,u]=o.useState(),[L,f]=o.useState([]),[A,a]=o.useState(0);function m(l){if(l.viewType!="3DView"){console.error("bimface view type is not 3DView");return}i(!0),c&&C(l.viewToken)}const C=l=>{if(!n){let v=c,I=new window.Glodon.Bimface.Application.WebApplication3DConfig;I.domElement=v,I.Toolbars=[];const T=new window.Glodon.Bimface.Application.WebApplication3D(I);T.addView(l),z(T);const E=T.getViewer();E.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded,function(){window.onresize=function(){E.resize(document.documentElement.clientWidth,document.documentElement.clientHeight-40)},E.setCameraAnimation(!1),E.render(),E.setNavigationMode(window.Glodon.Bimface.Viewer.NavigationMode3D.Walk),E.render(),N(!0)}),E.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ModelAdded,()=>{a(_=>_+1)}),j(E)}};o.useEffect(()=>{g&&L.forEach(l=>{s.loadModel({viewToken:l})})},[g,L]),o.useEffect(()=>{},[A]),o.useEffect(()=>{if(!c||!L.length)return;const l=L.pop();l&&h(l),f([...L])},[c]);function S(l){console.log(l)}function h(l){a(0);const v=()=>{let I=new window.BimfaceSDKLoaderConfig;I.viewToken=l,window.BimfaceSDKLoader.load(I,m,S)};if(!window.BimfaceSDKLoaderConfig){pt("https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js",v);return}v()}const U=(l,v)=>{if(!s||!g||!c){console.error("BIMFace viewer is not ready.");return}const I=c.getElementsByTagName("canvas")[0],T=document.createElement("canvas");T.width=I.width,T.height=I.height;const E=T.getContext("2d");return E&&(E.fillStyle="#fff",E.fillRect(0,0,T.width,T.height),E.drawImage(I,0,0,I.width,I.height)),T.toDataURL(l,v)},Q=l=>{if(!s){console.error("viewer is not ready");return}if(A&&L.length+1===A||!L.length)s.getAllModels().map(T=>s._models[T.modelId]).forEach(T=>{let E=new window.Glodon.Web.Graphics.Color(l);T.overrideAllComponentsColor&&T.overrideAllComponentsColor(E)}),s.enableWireframe(!0),s.getLightManager().getAllFillLights().forEach(T=>T.enableLight(!0)),s.render();else{console.error("viewer is not render complete");return}},B=l=>{if(s)if(A&&L.length+1===A||!L.length)s.getAllModels().map(T=>s._models[T.modelId]).forEach(T=>{Object.keys(l).forEach(E=>{let _=[{categoryId:E}];T.getComponentsByConditions(_,function(oM){let D=new window.Glodon.Web.Graphics.Color(l[E]);T.overrideComponentsColorById&&T.overrideComponentsColorById(oM,D)},function(){window.alert("error")})})}),s.enableWireframe(!1),s.getLightManager().getAllFillLights().forEach(T=>T.enableLight(!1)),s.render();else{console.error("viewer is not render complete");return}};function W(l,v,I){const T=s.getModel();T==null||T.getBoundingBox(({currentBoundingBox:E})=>{const _=E.max.x-E.min.x,oM=E.max.y-E.min.y,D=_/oM;let d,O;D>1?(d=v.width,O=d/D):(O=v.height,d=O*D);const P=document.createElement("div");P.setAttribute("style",`width: ${d}px;height: ${O}px`),document.body.appendChild(P);const Z=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewerConfig;Z.domElement=P;const gM=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewer(Z),jM=new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMapConfig;jM.viewer=s,jM.mapViewer=gM,jM.type="SetProfile",jM.height=l,jM.successCallback=eM=>{setTimeout(()=>{const R=new Image;R.src=P.getElementsByTagName("image")[0].getAttribute("href")||"",R.onload=()=>{I(R)}},200)},new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMap(jM)})}return{BimfaceViewer:M&&window.Glodon.Bimface.Viewer,BimfaceSection:M&&window.Glodon.Bimface.Plugins.Section,BimfaceMark:M&&window.Glodon.Bimface.Plugins.Marker3D,BimfaceViewerEvents:M&&window.Glodon.Bimface.Viewer.Viewer3DEvent,viewer:s,viewerAdded:g,sDKLoaded:M,loadedModelCount:A,loadModels:l=>{if(l!=null&&l.length||console.error("viewTokens is Empty"),!s&&c){const v=l[0];h(v)}f(l)},setContainerDom:u,getSnapshot:U,setComponentsColorByCatgryId:B,setAllComponentsColor:Q,navigationMapByHeight:W}}function vt(t){const{url:M,onScaleChange:i,onLoad:n}=t,z=o.useRef(null),s=Ce.useSize(z),j=s==null?void 0:s.width,g=s==null?void 0:s.height,[N,c]=o.useState();return o.useEffect(()=>{j&&g&&N&&i(j/N.width,j,g)},[j,g,N]),e.jsx("img",{ref:z,src:M,className:"select-none",style:{maxWidth:"100%",maxHeight:"100%",cursor:"crosshair"},alt:"",onLoad:()=>{if(z.current){n&&n(z.current);const{naturalWidth:u,naturalHeight:L}=z.current;c({width:u,height:L})}}})}function Ye(t){const{start:M,end:i}=t,{options:{lineColor:n,lineWidth:z}}=o.useContext(OM);return e.jsx(e.Fragment,{children:e.jsx("line",{x1:M.x,y1:M.y,x2:i.x,y2:i.y,stroke:n!=null?n:"#FF5500",strokeWidth:z!=null?z:2})})}function Le(t){const{markRenderer:M,marker:i}=t,{point:{x:n,y:z}}=i;return e.jsxs("g",{children:[e.jsx("line",{}),e.jsx("line",{}),e.jsx("circle",{cx:n,cy:z,r:1,fill:"transparent"}),e.jsx("foreignObject",{x:n,y:z,width:0,height:0,fill:"green",className:"relative overflow-visible",children:e.jsx("div",{className:"inline-flex absolute",draggable:!0,onDragStart:()=>{},onDragEnd:()=>{},children:M&&M(i)})})]})}function xe(t){const{points:M,editing:i,options:n,onClose:z}=t,[s,j]=o.useState(!1),{options:{polygon:g}}=o.useContext(OM);if(!i&&RM(M)<=2)return null;const N=ot(M),c=M.map(({x:h,y:U})=>`${h},${U}`).join(" "),u=N?`${c} ${N.x},${N.y}`:c,{showVertexIndex:L,vertexBgColor:f,vertexTextColor:A}=g!=null?g:{},a=L?10:5,m=i||L,{hideBorder:C,backgroundColor:S}=n!=null?n:{};return e.jsxs(e.Fragment,{children:[e.jsx("polygon",{points:`${u}`,fill:S!=null?S:"rgba(255, 66, 66, 0.15)"}),!C&&e.jsx("polyline",{points:i?c:u,fill:"transparent",stroke:"#FF5500",strokeDasharray:"6 4",strokeWidth:"2"}),!C&&(M==null?void 0:M.map(({x:h,y:U},Q)=>{const B=Q===RM(M)-1;return e.jsx("g",{style:{zIndex:B?1:100,cursor:"pointer",pointerEvents:B?"none":"bounding-box"},onMouseEnter:W=>{B||j(!0)},onMouseLeave:W=>{j(!1)},onClick:W=>{W.stopPropagation()},onDoubleClick:W=>{W.stopPropagation(),z&&z(Q)},children:m&&(!B||!s)&&e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:h,cy:U,r:a,fill:f!=null?f:"#FF5500"}),L&&e.jsx("text",{x:h,y:U,"text-anchor":"middle",fill:A!=null?A:"#fff",dy:".3em",style:{cursor:"pointer",userSelect:"none"},children:Q+1})]})})}))]})}const Qt=QM.createMachine({initial:"idle",context:{},states:{idle:{on:{START_ADD_MARKER:{target:"addingMarker"},START_DRAW_LINE:{target:"drawingLine"},START_DRAW_POLYGON:{target:"drawingPolygon"}}},addingMarker:{on:{RESET:{target:"idle",actions:aM.assign(t=>{t.markerPoint=void 0})},ADD_MARKER:{target:"drawCompleted",actions:[aM.assign((t,{point:M})=>{t.markerPoint=M}),"onAddMarker"]},MOUSE_MOVE:{target:"addingMarker",actions:aM.assign((t,{point:M})=>{t.movingPoint=M})}}},drawingLine:{on:{ADD_LINE_START:{target:"drawingLine",actions:aM.assign((t,M)=>{t.lineStart=M.point})},ADD_LINE_END:{target:"drawCompleted",actions:[aM.assign((t,M)=>{t.lineEnd=M.point}),"onAddLine"]},MOUSE_MOVE:{target:"drawingLine",actions:aM.assign((t,{point:M})=>{t.movingPoint=M})},RESET:{target:"drawCompleted"},CANCEL:{target:"drawCompleted"}}},drawingPolygon:{on:{CANCEL:{target:"canceled"},RESET:{target:"idle",actions:aM.assign(t=>{t.polygonPoints=void 0})},ADD_POLYGON_POINT:{target:"drawingPolygon",actions:aM.assign((t,{point:M})=>{var i;t.polygonPoints=(i=t.polygonPoints)!=null?i:[],t.polygonPoints.push(M)})},MOUSE_MOVE:{target:"drawingPolygon",actions:aM.assign((t,{point:M})=>{t.movingPoint=M})},DRAW_POLYGON_COMPLETE:{target:"drawCompleted",actions:["onAddPolygon"]}}},drawCompleted:{always:{target:"idle"}},canceled:{}}});function Ut(t){const{state:M,scale:i,width:n,height:z,drawOptions:s,lines:j,polygons:g,markers:N,markRenderer:c,onAddLine:u,onAddPolygon:L,onAddMarker:f,onStateChange:A}=t,[a,m]=o.useState([]),[C,S]=o.useState([]),[h,U]=o.useState([]),Q=o.useRef(null),{width:B,height:W}=Ce.useSize(Q)||{};function l({x:d,y:O}){return{x:d/i,y:O/i}}function v({x:d,y:O}){return{x:d*i,y:O*i}}const[I,T]=it.useMachine(Qt,{actions:{onAddMarker:QM.assign(({markerPoint:d})=>(f&&d&&f(l(d)),{markerPoint:void 0,movingPoint:void 0})),onAddLine:QM.assign(d=>(d.lineStart&&d.lineEnd&&u&&u(l(d.lineStart),l(d.lineEnd)),{lineEnd:void 0,lineStart:void 0,movingPoint:void 0})),onAddPolygon:QM.assign(({polygonPoints:d})=>(L&&d&&d.length>2&&L(d.map(l)),{polygonPoints:void 0,movingPoint:void 0}))},services:{}});o.useEffect(()=>{var d;m((d=j==null?void 0:j.map(({id:O,start:P,end:Z})=>({id:O,start:v(P),end:v(Z)})))!=null?d:[])},[j]),o.useEffect(()=>{var d;U((d=N==null?void 0:N.map(O=>MM(Y({},O),{point:v(O.point)})))!=null?d:[])},[N]),o.useEffect(()=>{var d;S((d=g==null?void 0:g.map(({id:O,points:P,options:Z})=>({id:O,points:P.map(v),options:Z})))!=null?d:[])},[g,i]),o.useEffect(()=>{A&&I.matches("idle")&&A("viewOnly")},[I.value]),o.useEffect(()=>{if(A)switch(M){case"drawingLine":T("START_DRAW_LINE");break;case"drawingPolygon":T("START_DRAW_POLYGON");break;case"addingMarker":T("START_ADD_MARKER");break}},[M]);const{lineStart:E,lineEnd:_,polygonPoints:oM,movingPoint:D}=I.context;return e.jsx(OM.Provider,{value:{options:s!=null?s:{}},children:e.jsx("div",{ref:Q,className:"w-full h-full absolute left-0 top-0",style:{cursor:M==="viewOnly"?void 0:"crosshair",width:n,height:z},children:B&&W&&e.jsxs("svg",{viewBox:`0 0 ${B} ${W}`,version:"1.1",className:"absolute inset-0",onClick:d=>{if(!Q.current)return;const{top:O,left:P}=Q.current.getBoundingClientRect(),Z={x:d.clientX-P,y:d.clientY-O};I.matches("drawingLine")?T(E===void 0?{type:"ADD_LINE_START",point:Z}:{type:"ADD_LINE_END",point:Z}):I.matches("drawingPolygon")?T({type:"ADD_POLYGON_POINT",point:Z}):I.matches("addingMarker")&&T({type:"ADD_MARKER",point:Z})},onMouseMove:d=>{if(!Q.current)return;const{top:O,left:P}=Q.current.getBoundingClientRect(),Z={x:d.clientX-P,y:d.clientY-O};T({type:"MOUSE_MOVE",point:Z})},children:[a==null?void 0:a.map((d,O)=>e.jsx(Ye,Y({},d),O)),E&&D&&e.jsx(Ye,{start:E,end:D}),C==null?void 0:C.map(({points:d,options:O},P)=>e.jsx(xe,{editing:!1,points:d,options:O},P)),RM(oM)>0&&D&&e.jsx(xe,{editing:!0,points:[...oM,D],onClose:d=>{T({type:"DRAW_POLYGON_COMPLETE"})}}),h==null?void 0:h.map(d=>e.jsx(Le,{marker:d,markRenderer:c})),I.matches("addingMarker")&&D&&e.jsx(Le,{marker:{id:"addingMarker",point:D}})]})})})}function GM(t,M,i){if(i)return Math.abs(GM(t,i)-GM(M,i));for(var n=Math.atan2(M.y-t.y,M.x-t.x);n<0;)n+=2*Math.PI;return n}const OM=o.createContext({options:{}});OM.displayName="DrawableContext";function Bt(t){const s=t,{url:M}=s,i=dM(s,["url"]),[n,z]=nt.useImmer({scale:1,width:0,height:0});return M?e.jsxs("div",{className:"relative bg-pink-500 bg-opacity-40",children:[e.jsx(vt,{url:M,onScaleChange:(j,g,N)=>{z(c=>{c.scale=j,c.width=g,c.height=N})}}),e.jsx(Ut,Y(Y({},i),n))]}):null}exports.Button=zt;exports.Copy=fe;exports.DrawableContext=OM;exports.DrawableImageMap=Bt;exports.ExpandablePannel=ut;exports.IconButton=sM;exports.Iconfont=X;exports.ImageMap=At;exports.Markdown=lt;exports.MarkdownATag=he;exports.MarkdownCode=me;exports.MarkdownImage=Ee;exports.MarkdownVideo=ZM;exports.MouseTip=kt;exports.PanoramaRecordPlayer=Yt;exports.PassMap=Se;exports.TrackMap=Oe;exports.Zoom=ke;exports.calAngle=GM;exports.useBimface=bt;
|
|
2
|
+
"use strict";var Pe=Object.defineProperty,Re=Object.defineProperties;var Ge=Object.getOwnPropertyDescriptors;var vM=Object.getOwnPropertySymbols;var De=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable;var ue=(t,M,i)=>M in t?Pe(t,M,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[M]=i,Y=(t,M)=>{for(var i in M||(M={}))De.call(M,i)&&ue(t,i,M[i]);if(vM)for(var i of vM(M))ye.call(M,i)&&ue(t,i,M[i]);return t},MM=(t,M)=>Re(t,Ge(M));var dM=(t,M)=>{var i={};for(var n in t)De.call(t,n)&&M.indexOf(n)<0&&(i[n]=t[n]);if(t!=null&&vM)for(var n of vM(t))M.indexOf(n)<0&&ye.call(t,n)&&(i[n]=t[n]);return i};var Ie=(t,M,i)=>new Promise((n,z)=>{var s=N=>{try{g(i.next(N))}catch(c){z(c)}},j=N=>{try{g(i.throw(N))}catch(c){z(c)}},g=N=>N.done?n(N.value):Promise.resolve(N.value).then(s,j);g((i=i.apply(t,M)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),Ze=require("react-markdown"),Ve=require("remark-gfm"),He=require("rehype-external-links"),Je=require("remark-math"),Fe=require("rehype-katex");require("katex/dist/katex.min.css");const BM=require("antd"),$e=require("antd-mobile"),Xe=require("react-device-detect"),_e=require("react-syntax-highlighter"),UM=require("@ant-design/icons"),we=require("antd/es/tooltip"),Ke=require("react-moveable"),qe=require("deep-object-diff"),Mt=require("lodash/debounce"),PM=require("antd/es/button"),et=require("antd/es/popconfirm"),tt=require("use-immer"),Ce=require("ahooks"),nt=require("@xstate/react"),RM=require("lodash/size"),QM=require("xstate"),it=require("lodash/first"),aM=require("@xstate/immer");const ot=t=>{const g=t,{primary:M=!1,size:i="medium",backgroundColor:n,label:z}=g,s=dM(g,["primary","size","backgroundColor","label"]),j=M?"storybook-button--primary":"storybook-button--secondary";return e.jsx("button",MM(Y({type:"button",className:["storybook-button",`storybook-button--${i}`,j].join(" "),style:{backgroundColor:n}},s),{children:z}))};const zt=t=>e.jsx("video",Y({style:{maxWidth:"100%",width:560,height:315}},t)),ZM=zt;function Nt(t){const M=t.split(/(```[\s\S]*?```|`[^`]*?`|<code>[\s\S]*?<\/code>)/);let i="";for(let n=0;n<M.length;n++)if(n%2===0){let z=M[n].replaceAll(/\\\[([\s\S]*?)\\\]/g,(s,j)=>`$$${j}$$`).replaceAll(/\\\(([\s\S]*?)\\\)/g,(s,j)=>`$${j}$`);i+=z}else i+=M[n];return i}function st(t){var j;const M=(()=>{try{return new URL(t)}catch(g){return null}})();if(!M)return null;const n=((j=M.pathname.split(".").pop())==null?void 0:j.toLowerCase())||"",z=["jpg","jpeg","gif","png"],s=["mp4","wmv","avi","mov"];return z.includes(n)?"image":s.includes(n)?"video":null}const jt=t=>{const[M,i]=o.useState(!1),[n,z]=o.useState();return o.useEffect(()=>{t.src&&z(st(t.src))},[t.src]),n=="video"?e.jsx(ZM,{src:t.src,controls:!0}):Xe.isMobile?e.jsxs(e.Fragment,{children:[e.jsx("img",Y({style:{maxWidth:"100%"},src:t==null?void 0:t.src,onClick:()=>{i(!0)}},t)),e.jsx($e.ImageViewer,{image:(t==null?void 0:t.src)||"",visible:M,onClose:()=>{i(!1)}})]}):e.jsx(BM.Image,MM(Y({style:{maxWidth:"100%"},preview:{getContainer:()=>document.body}},t),{onClick:s=>{var j,g,N;(N=t.onClick)==null||N.call(t,MM(Y({},s),{target:(g=(j=s.target)==null?void 0:j.offsetParent)==null?void 0:g.children[0]}))},onError:()=>{console.log(t),console.warn("图片加载失败")}}))},Ee=jt,X=UM.createFromIconfontCN({scriptUrl:new URL("data:application/javascript;base64,d2luZG93Ll9pY29uZm9udF9zdmdfc3RyaW5nXzM5MjkyMDkgPSAnPHN2Zz48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8teGlhIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTkyLjk1NzAzMTI1IDM1NC42NDA2MjVoNDMzLjc0MDIzNDM4YzQyLjEzNDc2NTYzIDAgODAuODQxNzk2ODgtMC4xNTgyMDMxMyAxMTYuMjI2NTYyNDktMC40MjE4NzVDNzc4LjMwODU5Mzc1IDM1My45NTUwNzgxMiA4MDUuODM1OTM3NSAzNTMuNzk2ODc1IDgyNS40NTMxMjUgMzUzLjc5Njg3NWMxMy41IDAgMjQuNzMyNDIxODggMy4xNjQwNjI1IDMzLjc1IDkuNTk3NjU2MjUgOC45NjQ4NDM3NSA2LjQzMzU5Mzc1IDE0Ljk3NjU2MjUgMTQuNTAxOTUzMTMgMTguMDg3ODkwNjMgMjQuMjU3ODEyNSAzLjA1ODU5Mzc1IDkuNzAzMTI1IDMuMDU4NTkzNzUgMjAuNDYwOTM3NS0xZS04IDMyLjE2Nzk2ODc1YTcxLjcxODc1IDcxLjcxODc1IDAgMCAxLTE5LjgyODEyNDk5IDMyLjUzNzEwOTM4Yy0yMS4zMDQ2ODc1IDIwLjU2NjQwNjI1LTQzLjY2NDA2MjUgNDIuODczMDQ2ODgtNjYuOTcyNjU2MjYgNjYuODE0NDUzMTItMjMuMjU1ODU5MzggMjMuOTQxNDA2MjUtNDYuNzIyNjU2MjUgNDguNTY4MzU5MzgtNzAuMjk0OTIxODcgNzMuOTMzNTkzNzUtMjMuNTcyMjY1NjMgMjUuMzEyNS00Ny4xNDQ1MzEyNSA1MC45NDE0MDYyNS03MC43Njk1MzEyNSA3Ni44MzM5ODQzOGwtNjguMTg1NTQ2ODggNzQuNzI0NjA5MzdhODkuMTIxMDkzNzUgODkuMTIxMDkzNzUgMCAwIDEtMzUuMzMyMDMxMjUgMjMuODM1OTM3NWMtMTQuMDgwMDc4MTMgNS4yNzM0Mzc1LTI4LjY4NzUgNy42NDY0ODQzOC00My44MjIyNjU2MiA3LjA2NjQwNjI1YTEzMi4zNjMyODEyNSAxMzIuMzYzMjgxMjUgMCAwIDEtNDQuNjY2MDE1NjMtOS41OTc2NTYyNSA5NC44MTY0MDYyNSA5NC44MTY0MDYyNSAwIDAgMS0zNy4wNzIyNjU2Mi0yNi4zMTQ0NTMxMyA2MzQ3LjYzNjcxODc1IDYzNDcuNjM2NzE4NzUgMCAwIDAtNTcuNjkxNDA2MjUtNjQuNzA1MDc4MTJjLTE5LjM1MzUxNTYzLTIxLjQ2Mjg5MDYzLTM5LjI4NzEwOTM4LTQzLjQ1MzEyNS01OS44MDA3ODEyNS02NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMS0xMzYuMDAxOTUzMTMtMTQ5LjkyMzgyODEyIDk1LjE4NTU0Njg4IDk1LjE4NTU0Njg4IDAgMCAxLTIyLjMwNjY0MDYyLTM3LjE3NzczNDM4QTY0LjE3NzczNDM4IDY0LjE3NzczNDM4IDAgMCAxIDE0Mi44NTkzNzUgMzg4LjAyMTQ4NDM3YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMSAxNi44NzUtMjQuMjA1MDc4MTJjOC42NDg0Mzc1LTYuMTE3MTg3NSAxOS43NzUzOTA2My05LjE3NTc4MTI1IDMzLjIyMjY1NjI1LTkuMTc1NzgxMjV6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8tc2hhbmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04MzEuMDQyOTY4NzUgNjY5LjM1OTM3NUgzOTcuMzAyNzM0MzdjLTQyLjEzNDc2NTYzIDAtODAuODQxNzk2ODggMC4xNTgyMDMxMy0xMTYuMjI2NTYyNDkgMC40MjE4NzUtMzUuMzg0NzY1NjMgMC4yNjM2NzE4OC02Mi45MTIxMDkzOCAwLjQyMTg3NS04Mi41MjkyOTY4OCAwLjQyMTg3NS0xMy41IDAtMjQuNzMyNDIxODgtMy4xNjQwNjI1LTMzLjc1LTkuNTk3NjU2MjVhNDYuNjE3MTg3NSA0Ni42MTcxODc1IDAgMCAxLTE4LjA4Nzg5MDYyLTI0LjI1NzgxMjUgNTYuODQ3NjU2MjUgNTYuODQ3NjU2MjUgMCAwIDEgMC0zMi4xNjc5Njg3NSA3MS43MTg3NSA3MS43MTg3NSAwIDAgMSAxOS44MjgxMjUtMzIuNTM3MTA5MzhjMjEuMzA0Njg3NS0yMC41NjY0MDYyNSA0My42NjQwNjI1LTQyLjg3MzA0Njg4IDY2Ljk3MjY1NjI1LTY2LjgxNDQ1MzEyIDIzLjI1NTg1OTM4LTIzLjk0MTQwNjI1IDQ2LjcyMjY1NjI1LTQ4LjU2ODM1OTM4IDcwLjI5NDkyMTg3LTczLjkzMzU5Mzc1IDIzLjU3MjI2NTYzLTI1LjMxMjUgNDcuMTQ0NTMxMjUtNTAuOTQxNDA2MjUgNzAuNzY5NTMxMjUtNzYuODMzOTg0MzhsNjguMTg1NTQ2ODgtNzQuNzI0NjA5MzdjOS41NDQ5MjE4OC0xMC41OTk2MDkzOCAyMS4zNTc0MjE4OC0xOC41NjI1IDM1LjMzMjAzMTI1LTIzLjgzNTkzNzUgMTQuMDgwMDc4MTMtNS4yNzM0Mzc1IDI4LjY4NzUtNy42NDY0ODQzOCA0My44MjIyNjU2Mi03LjA2NjQwNjI1IDE1LjE4NzUgMC41MjczNDM3NSAzMC4wNTg1OTM3NSAzLjY5MTQwNjI1IDQ0LjY2NjAxNTYzIDkuNTk3NjU2MjUgMTQuNjA3NDIxODggNS44MDA3ODEyNSAyNi45NDcyNjU2MyAxNC42MDc0MjE4OCAzNy4wNzIyNjU2MiAyNi4zMTQ0NTMxMyAxOS4wODk4NDM3NSAyMS42NzM4MjgxMyAzOC4yODUxNTYyNSA0My4yNDIxODc1IDU3LjY5MTQwNjI1IDY0LjcwNTA3ODEyIDE5LjM1MzUxNTYzIDIxLjQ2Mjg5MDYzIDM5LjI4NzEwOTM4IDQzLjQ1MzEyNSA1OS44MDA3ODEyNSA2NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMSAxMzYuMDAxOTUzMTMgMTQ5LjkyMzgyODEyYzExLjIzMjQyMTg4IDEyLjI4NzEwOTM4IDE4LjY2Nzk2ODc1IDI0LjY3OTY4NzUgMjIuMzA2NjQwNjIgMzcuMTc3NzM0MzggMy42OTE0MDYyNSAxMi41NTA3ODEyNSA0LjIxODc1IDIzLjgzNTkzNzUgMS42ODc1IDMzLjg1NTQ2ODc1YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMS0xNi44NzUgMjQuMjA1MDc4MTJjLTguNjQ4NDM3NSA2LjExNzE4NzUtMTkuNzc1MzkwNjMgOS4xNzU3ODEyNS0zMy4yMjI2NTYyNSA5LjE3NTc4MTI1eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nLXp1byIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTEyOCAxOTJoNzY4djY0SDEyOFYxOTJ6IG03Ny4yNDggMzIwbDEwNS40MDggMTA1LjM0NC00NS4zMTIgNDUuMzEyLTEyOC0xMjhhMzIgMzIgMCAwIDEgMC00NS4zMTJsMTI4LTEyOCA0NS4zMTIgNDUuMzEyTDIwNS4yNDggNTEyek04OTYgMzg0SDM4NHY2NGg1MTJWMzg0ek0zODQgNTc2aDUxMnY2NEgzODRWNTc2eiBtNTEyIDE5MkgxMjh2NjRoNzY4di02NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tY29tcGFyZS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTU0LjY2NjY2NyA4NS4zMzMzMzNoLTg1LjMzMzMzNHY4NTMuMzMzMzM0aDg1LjMzMzMzNFY4NS4zMzMzMzN6TTE3MC42NjY2NjcgMTcwLjY2NjY2N2gyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3djUxMmgyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEtODUuMzMzMzM0LTg1LjMzMzMzM1YyNTZhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzQtODUuMzMzMzMzek04NTMuMzMzMzMzIDc2OGgtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM2E4NS4zMzMzMzMgODUuMzMzMzMzIDAgMCAwIDg1LjMzMzMzNC04NS4zMzMzMzNWMjU2YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDAtODUuMzMzMzM0LTg1LjMzMzMzM2gtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM3Y1MTJ6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLWJpbS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTQuOTgxNTQ3IDc2OGExMy40ODI2NjcgMTMuNDgyNjY3IDAgMCAxLTEwLjYyNC01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zNTItMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM1Mi0xMy4xODRBMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMSAxNS4wMjQyMTMgMjU2aDE4MS4xMmMzMy43MDY2NjcgMCA2MS4yMjY2NjcgNi4xMDEzMzMgODIuNDMyIDE4LjMwNCAyMS4yNDggMTEuNjkwNjY3IDM2Ljg2NCAyOC4wMzIgNDYuODQ4IDQ4Ljk4MTMzMyAxMC40MTA2NjcgMjAuOTkyIDE1LjYxNiA0NS4zNTQ2NjcgMTUuNjE2IDczLjEzMDY2NyAwIDE4LjU2LTIuOTAxMzMzIDM0LjkwMTMzMy04Ljc0NjY2NiA0OS4wMjQtNS40MTg2NjcgMTMuNjUzMzMzLTEyLjI4OCAyNC44NzQ2NjctMjAuNjA4IDMzLjY2NC03Ljg5MzMzMyA4Ljc0NjY2Ny0xNS43ODY2NjcgMTUuNTczMzMzLTIzLjcyMjY2NyAyMC40OCAxNi4yMTMzMzMgOC43NDY2NjcgMzAuNTkyIDIzLjM4MTMzMyA0My4wOTMzMzMgNDMuODYxMzMzIDEyLjUwMTMzMyAyMC40OCAxOC43NzMzMzMgNDQuODg1MzMzIDE4Ljc3MzMzNCA3My4xMzA2NjcgMCAyOS4yNjkzMzMtNS42NzQ2NjcgNTUuMzgxMzMzLTE2Ljg5NiA3OC4yOTMzMzMtMTEuMjY0IDIyLjkxMi0yNy45MDQgNDAuOTYtNDkuOTYyNjY3IDU0LjEwMTMzNC0yMi4wNTg2NjcgMTIuNjcyLTQ5LjM2NTMzMyAxOS4wMjkzMzMtODEuODM0NjY3IDE5LjAyOTMzM0gxNC45ODE1NDd6IG03MS44NTA2NjYtNzcuNTI1MzMzSDE5MS4xNTIyMTNjMjIuNDg1MzMzIDAgMzkuNTUyLTcuMDgyNjY3IDUxLjItMjEuMjA1MzM0IDExLjY0OC0xNC42MzQ2NjcgMTcuNDkzMzMzLTMyLjIxMzMzMyAxNy40OTMzMzQtNTIuNjkzMzMzIDAtMjEuNDE4NjY3LTYuMDE2LTM5LjI1MzMzMy0xOC4wOTA2NjctNTMuMzc2LTExLjY5MDY2Ny0xNC4xMjI2NjctMjguNTQ0LTIxLjIwNTMzMy01MC42MDI2NjctMjEuMjA1MzMzSDg2LjgzMjIxM3YxNDguNDh6IG0wLTIyNC41NTQ2NjdoOTguMDQ4YzIyLjEwMTMzMyAwIDM4LjUyOC02LjEwMTMzMyA0OS4zNjUzMzQtMTguMzA0IDExLjIyMTMzMy0xMi42NzIgMTYuODUzMzMzLTI5LjAxMzMzMyAxNi44NTMzMzMtNDguOTgxMzMzIDAtMjAuNDgtNS42MzItMzYuMzUyLTE2Ljg1MzMzMy00Ny41MzA2NjctMTAuODM3MzMzLTExLjczMzMzMy0yNy4zMDY2NjctMTcuNTc4NjY3LTQ5LjM2NTMzNC0xNy41Nzg2NjdIODYuODMyMjEzdjEzMi4zOTQ2Njd6TTQ0My4yMjY4OCA3NjhhMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMS0xMC42NjY2NjctNS4xMiAxOC41MTczMzMgMTguNTE3MzMzIDAgMCAxLTQuMzUyLTEyLjQxNlYyNzMuNDkzMzMzYzAtNC44NjQgMS40NTA2NjctOS4wMDI2NjcgNC4zOTQ2NjctMTIuNDE2YTEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEgMTAuNjI0LTUuMTJoNTguNzA5MzMzYzQuNTY1MzMzIDAgOC4xMDY2NjcgMS43MDY2NjcgMTAuNjI0IDUuMTIgMi45MDEzMzMgMy40MTMzMzMgNC4zNTIgNy41NTIgNC4zNTIgMTIuNDE2Vjc1MC41MDY2NjdhMTguNTE3MzMzIDE4LjUxNzMzMyAwIDAgMS00LjM1MiAxMi40MTYgMTIuMzczMzMzIDEyLjM3MzMzMyAwIDAgMS0xMC42NjY2NjYgNS4xMmgtNTguNjY2NjY3ek02MzAuNDkwODggNzY4YTE0LjA4IDE0LjA4IDAgMCAxLTExLjIyMTMzMy01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zOTQ2NjctMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM5NDY2Ny0xMy4xODRhMTQuMDggMTQuMDggMCAwIDEgMTEuMjIxMzMzLTUuMTJoNDkuMzY1MzMzYzUuODAyNjY3IDAgMTAuMTk3MzMzIDEuOTYyNjY3IDEzLjA5ODY2NyA1Ljg0NTMzMyAyLjkwMTMzMyAzLjQxMzMzMyA0Ljc3ODY2NyA2LjEwMTMzMyA1LjYzMiA4LjA2NGwxMjAuNTMzMzMzIDI2My4yOTYgMTIxLjgxMzMzNC0yNjMuMjk2YTM1LjkyNTMzMyAzNS45MjUzMzMgMCAwIDEgNS42MzItOC4wNjRjMi45MDEzMzMtMy44ODI2NjcgNy4yNTMzMzMtNS44NDUzMzMgMTMuMDk4NjY2LTUuODQ1MzMzaDQ4LjcyNTMzNGExNC4wOCAxNC4wOCAwIDAgMSAxMS4yNjQgNS4xMmMyLjkwMTMzMyAzLjQxMzMzMyA0LjM1MiA3LjgwOCA0LjM1MiAxMy4xODR2NDc2LjE2YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDE0LjA4IDE0LjA4IDAgMCAxLTExLjI2NCA1LjEyaC01Mi40OGExNC4wOCAxNC4wOCAwIDAgMS0xMS4yMjEzMzQtNS4xMiAyMC40OCAyMC40OCAwIDAgMS0zLjc1NDY2Ni0xMi40MTZ2LTMxNi43MTQ2NjdsLTg3LjQ2NjY2NyAxOTUuMjg1MzM0YTQzLjA1MDY2NyA0My4wNTA2NjcgMCAwIDEtOC4xMDY2NjcgMTEuNjkwNjY2IDE5LjE1NzMzMyAxOS4xNTczMzMgMCAwIDEtMTMuMDk4NjY2IDQuMzk0NjY3aC0yNS42YTIwLjA5NiAyMC4wOTYgMCAwIDEtMTMuNzgxMzM0LTQuMzk0NjY3IDUyLjczNiA1Mi43MzYgMCAwIDEtNy40NjY2NjYtMTEuNjkwNjY2bC04Ny40NjY2NjctMTk1LjI4NTMzNHYzMTYuNzE0NjY3YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEtMTAuNjY2NjY3IDUuMTJoLTUyLjQzNzMzM3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tb3ZlcmxhcC1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNOTM4LjY2NjY2NyA0MDIuMDA1MzMzVjI5OC42NjY2NjdjMC0yOS40ODI2NjctMjMuODkzMzMzLTUzLjMzMzMzMy01My4zMzMzMzQtNTMuMzMzMzM0aC05My4zNTQ2NjZhMTMuMzU0NjY3IDEzLjM1NDY2NyAwIDAgMS0xMy4zMTItMTMuMzU0NjY2VjEzOC42NjY2NjdDNzc4LjY2NjY2NyAxMDkuMTg0IDc1NC43NzMzMzMgODUuMzMzMzMzIDcyNS4zMzMzMzMgODUuMzMzMzMzSDEzOC42NjY2NjdDMTA5LjIyNjY2NyA4NS4zMzMzMzMgODUuMzMzMzMzIDEwOS4xODQgODUuMzMzMzMzIDEzOC42NjY2NjdWNzI1LjMzMzMzM2MwIDI5LjQ0IDIzLjg5MzMzMyA1My4zMzMzMzMgNTMuMzMzMzM0IDUzLjMzMzMzNGg5My4zNTQ2NjZjNy4yOTYgMCAxMy4zMTIgNS45NzMzMzMgMTMuMzEyIDEzLjM1NDY2NnY5My4zMTJjMCAyOS40NCAyMy44OTMzMzMgNTMuMzMzMzMzIDUzLjMzMzMzNCA1My4zMzMzMzRoMTAzLjMzODY2NmEzLjMyOCAzLjMyOCAwIDAgMCAzLjMyOC0zLjMyOHYtNDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4LTMuMzI4SDI5OC42NjY2Njd2LTkzLjM1NDY2NmMwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEySDcyNS4zMzMzMzNjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzRWMzExLjk3ODY2N2MwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEyaDkzLjMxMnYxMDMuMzM4NjY2YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjhoNDYuNjc3MzM0QTMuMzI4IDMuMzI4IDAgMCAwIDkzOC42NjY2NjcgNDAyLjAwNTMzM3pNNzgxLjk5NDY2NyA5MzguNjY2NjY3aDEwMy4zMzg2NjZjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzR2LTEwMy4zMzg2NjZhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHY5MC4wMjY2NjZjMCA3LjI5Ni01Ljk3MzMzMyAxMy4zMTItMTMuMzU0NjY2IDEzLjMxMmgtODkuOTg0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4IDMuMzI4djQ2LjY3NzMzNGMwIDEuODM0NjY3IDEuNDkzMzMzIDMuMzI4IDMuMzI4IDMuMzI4eiIgID48L3BhdGg+PHBhdGggZD0iTTQ4OC42NjEzMzMgOTM4LjY2NjY2N2gyMDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwIDMuMzI4LTMuMzI4di00Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjggMy4zMjh2NDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6TTg4OC42NjEzMzMgNjk4LjY2NjY2N2g0Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAgMy4zMjgtMy4zMjh2LTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHYyMDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXRpYW96aGVuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTUyOS43NDkzMzMgNDIuNjY2NjY3aDEuODc3MzM0bDEuMzIyNjY2IDAuMDg1MzMzIDEuMTUyIDAuMTI4IDEuMzIyNjY3IDAuMTcwNjY3IDIuMDQ4IDAuMzQxMzMzIDEuODM0NjY3IDAuNDI2NjY3IDEuODM0NjY2IDAuNDY5MzMzIDEuNzA2NjY3IDAuNTk3MzMzIDEuMzY1MzMzIDAuNTEyIDEuMzY1MzM0IDAuNjQgMS4yOCAwLjU5NzMzNCAxLjUzNiAwLjg1MzMzMyAxLjE1MiAwLjY4MjY2NyAxLjQwOCAwLjkzODY2NiAxLjQ5MzMzMyAxLjA2NjY2NyAwLjg1MzMzMyAwLjY4MjY2NyAxLjk2MjY2NyAxLjcwNjY2NiAwLjcyNTMzMyAwLjc2OCAxMDkuMDEzMzM0IDEwOC45NzA2NjdhMzYuMzA5MzMzIDM2LjMwOTMzMyAwIDAgMS01MC4yNjEzMzQgNTIuNDhsLTEuMTA5MzMzLTEuMDY2NjY3LTQ1LjE4NC00NS4xODR2MzA1LjkyaDMwOC40MzczMzNsLTQ0LjUwMTMzMy00Mi4wMjY2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA0OC43NjgtNTMuODQ1MzM0bDEuMTA5MzMzIDEuMDI0IDExMC4wOCAxMDQuMDIxMzM0IDEuMTUyIDEuMjM3MzMzIDEuMDY2NjY3IDEuMTk0NjY3IDAuOTM4NjY3IDEuMjM3MzMzIDEuMDY2NjY2IDEuNDkzMzMzIDAuOTM4NjY3IDEuNDkzMzM0IDAuODUzMzMzIDEuNTM2IDAuNjgyNjY3IDEuMjggMC43NjggMS43MDY2NjYgMC44MTA2NjcgMi4wNDggMC4yMTMzMzMgMC42ODI2NjcgMC40MjY2NjcgMS4yOCAwLjM0MTMzMyAxLjQ1MDY2NyAwLjM0MTMzMyAxLjQwOCAwLjI5ODY2NyAxLjcwNjY2NiAwLjIxMzMzMyAxLjcwNjY2NyAwLjE3MDY2NyAxLjgzNDY2NyAwLjA0MjY2NyAxLjQ5MzMzM3YxLjg3NzMzM2wtMC4wODUzMzQgMS4zMjI2NjctMC4xMjggMS4xNTItMC4xMjggMS4zMjI2NjctMC4zODQgMi4wNDgtMC40MjY2NjYgMS44MzQ2NjYtMC40NjkzMzQgMS44MzQ2NjctMC41OTczMzMgMS43MDY2NjctMC41MTIgMS4zNjUzMzMtMC41OTczMzMgMS4zNjUzMzMtMC42NCAxLjI4LTAuODUzMzM0IDEuNTM2LTAuNjgyNjY2IDEuMTUyLTAuOTM4NjY3IDEuNDA4LTEuMDY2NjY3IDEuNDkzMzM0LTAuNjgyNjY2IDAuODUzMzMzLTEuNzA2NjY3IDEuOTYyNjY3LTAuNzI1MzMzIDAuNzI1MzMzLTEwOS4wMTMzMzQgMTA5LjAxMzMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUyLjQ4LTUwLjI2MTMzM2wxLjA2NjY2Ny0xLjEwOTMzMyA0NS4xODQtNDUuMTg0aC0zMDguMzUydjMwOC4zNTJsNDUuMTg0LTQ1LjE4NGEzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxIDUyLjQzNzMzMyA1MC4zMDRsLTEuMDY2NjY2IDEuMTA5MzMzLTEwOS43Mzg2NjcgMTA5LjczODY2Ny0wLjY0IDAuNTU0NjY2LTEuNTM2IDEuMzIyNjY3LTEuNDkzMzMzIDEuMTUyLTEuNTM2IDEuMDI0LTEuNzA2NjY3IDEuMDI0LTEuMTA5MzMzIDAuNjQtMS4xOTQ2NjcgMC41OTczMzMtMS4zNjUzMzMgMC42NC0xLjc5MiAwLjcyNTMzNC0xLjc0OTMzNCAwLjU5NzMzMy0xLjQwOCAwLjM4NC0xLjc5MiAwLjQyNjY2Ny0xLjYyMTMzMyAwLjI5ODY2Ni0xLjg3NzMzMyAwLjI1Ni0xLjgzNDY2NyAwLjE3MDY2Ny0xLjkyIDAuMDg1MzMzaC0xLjQwOGwtMS40MDgtMC4wODUzMzMtMS40MDgtMC4xMjgtMS43NDkzMzMtMC4yMTMzMzMtMS4xNTItMC4yMTMzMzQtMS4wNjY2NjctMC4yMTMzMzMtMS4wNjY2NjctMC4yNTYtMS4yOC0wLjM0MTMzMy0xLjUzNi0wLjQ2OTMzNC0xLjgzNDY2Ni0wLjY4MjY2Ni0xLjUzNi0wLjY0LTEuNzA2NjY3LTAuODUzMzM0LTEuMjgtMC43MjUzMzMtMS41Nzg2NjctMC45Mzg2NjctMS41Nzg2NjYtMS4wNjY2NjYtMS43MDY2NjctMS4yOC0xLjIzNzMzMy0xLjA2NjY2Ny0xLjE5NDY2Ny0xLjEwOTMzMy0xLjA2NjY2Ny0xLjEwOTMzNC0xMDIuOTU0NjY2LTEwOS4wMTMzMzNhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MS43NTQ2NjYtNTAuOTg2NjY3bDEuMDY2NjY3IDEuMTA5MzM0IDQyLjAyNjY2NyA0NC40NTg2NjZ2LTMwOC4zOTQ2NjZIMTg5Ljg2NjY2N2w0NS4xODQgNDUuMTg0QTM2LjM1MiAzNi4zNTIgMCAwIDEgMTg0Ljc0NjY2NyA2NDQuNjkzMzMzbC0xLjEwOTMzNC0xLjA2NjY2Ni0xMDkuNzM4NjY2LTEwOS43Mzg2NjctMC41NTQ2NjctMC42NC0xLjMyMjY2Ny0xLjUzNi0xLjE1Mi0xLjQ5MzMzMy0xLjA2NjY2Ni0xLjUzNi0wLjk4MTMzNC0xLjcwNjY2Ny0wLjY0LTEuMTA5MzMzLTAuNTk3MzMzLTEuMTk0NjY3LTAuNjQtMS4zNjUzMzMtMC43MjUzMzMtMS43OTItMC41OTczMzQtMS43NDkzMzQtMC40MjY2NjYtMS40MDgtMC40MjY2NjctMS43OTItMC4yNTYtMS42NjQtMC4yOTg2NjctMS44MzQ2NjYtMC4xMjgtMS44MzQ2NjctMC4wODUzMzMtMS45MnYtMS40MDhsMC4wODUzMzMtMS40MDggMC4xMjgtMS40MDggMC4yMTMzMzQtMS43NDkzMzMgMC4yMTMzMzMtMS4xNTIgMC4yMTMzMzMtMS4wNjY2NjcgMC4yNTYtMS4wNjY2NjcgMC4zNDEzMzQtMS4yOCAwLjQyNjY2Ni0xLjUzNiAwLjcyNTMzNC0xLjgzNDY2NiAwLjY0LTEuNTM2IDAuODUzMzMzLTEuNzA2NjY3IDAuNjgyNjY3LTEuMjggMC45ODEzMzMtMS41Nzg2NjcgMS4wNjY2NjctMS41Nzg2NjYgMS4yOC0xLjcwNjY2NyAxLjA2NjY2Ni0xLjE5NDY2NyAxLjEwOTMzNC0xLjIzNzMzMyAxLjEwOTMzMy0xLjA2NjY2NyAxMDkuMDEzMzMzLTEwMi45NTQ2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MC45ODY2NjcgNTEuNzU0NjY2bC0xLjEwOTMzMyAxLjA2NjY2Ny00NC41MDEzMzQgNDIuMDI2NjY3aDMwNi4wMDUzMzRWMTY4LjQ0OGwtNDIuMDI2NjY3IDQ0LjUwMTMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUzLjg0NTMzMy00OC43NjhsMS4wMjQtMS4xMDkzMzMgMTA0LjAyMTMzMy0xMTAuMDggMS4yMzczMzMtMS4xNTIgMS4xOTQ2NjctMS4wNjY2NjcgMS4yMzczMzMtMC45Mzg2NjYgMS40OTMzMzQtMS4wMjQgMS40OTMzMzMtMC45ODEzMzQgMS41MzYtMC44NTMzMzMgMS4yOC0wLjY4MjY2NyAxLjcwNjY2Ny0wLjc2OCAyLjA0OC0wLjc2OCAwLjY4MjY2Ni0wLjI1NiAxLjI4LTAuNDI2NjY2IDEuNDUwNjY3LTAuMzQxMzM0IDEuNDA4LTAuMzQxMzMzIDEuNzA2NjY3LTAuMjk4NjY3IDEuNzA2NjY2LTAuMjEzMzMzIDEuODM0NjY3LTAuMTcwNjY3IDEuNDkzMzMzLTAuMDQyNjY2eiIgZmlsbD0iIzY2NjY2NiIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLW1hcCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTk0Ni41NiAxNzAuNjI0YTMyLjY0IDMyLjY0IDAgMCAwLTI2Ljc1Mi03LjA0bC0yMzcuMTg0IDQyLjExMkw2MjIuMDggMTg1LjZhMzIuNjQgMzIuNjQgMCAxIDAtMjAuNjcyIDYyLjA4bDY4LjQ4IDIyLjc4NGMxLjYgMC41MTIgMy4yIDAuODk2IDQuODY0IDEuMTUydjI2NS42bC0xMzUuMzYtNDEuNmEyMS44MjQgMjEuODI0IDAgMCAwLTEyLjggNDEuNmwxNDguMTYgNDUuNjMydjI3My44NTZsLTI4My41Mi03OS42OHYtMTIzLjI2NGEyMS43NiAyMS43NiAwIDEgMC00My43MTIgMHYxMjMuODRsLTIxOC4xMTIgMzQuMjRWMTk1LjcxMmEzMi43MDQgMzIuNzA0IDAgMCAwLTY1LjQwOCAwdjY1NC40YTMyLjY0IDMyLjY0IDAgMCAwIDM3Ljc2IDMyLjMybDI3MS4xMDQtNDIuNTYgMzA0IDg1LjM3NmEzMi44MzIgMzIuODMyIDAgMCAwIDE0LjY1NiAwLjY0bDIzOS44NzItNDMuNTg0YTMyLjcwNCAzMi43MDQgMCAwIDAgMjYuODgtMzIuMTkyVjE5NS43MTJhMzIuNjQgMzIuNjQgMCAwIDAtMTEuNzEyLTI1LjA4OHogbS01My43NiAzMzkuODRsLTE3NC40NjQgMzAuNFYyNjUuODU2bDE3NC41MjgtMzEuMDR2Mjc1LjY0OHogbS0xNzQuNDY0IDM0NC4wNjR2LTI2OS40NGwxNzQuNTI4LTMwLjMzNnYyNjguMDMybC0xNzQuNTI4IDMxLjc0NHoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0yMDkuNzI4IDM2NS45NTJjMTAuNjg4IDIxLjEyIDEwOC45OTIgMTU5Ljc0NCAxMzguODggMjAxLjY2NCA2LjE0NCA4LjY0IDE2IDEzLjc2IDI2LjYyNCAxMy43NmgwLjA2NGEzMi43MDQgMzIuNzA0IDAgMCAwIDI2LjY4OC0xMy44ODhjMjkuNzYtNDIuMzA0IDEyNy43NDQtMTgxLjg4OCAxMzcuNzkyLTIwMS4yMTYgMTMuMTg0LTI1LjQwOCAyMC40OC01NS4wNCAyMC40OC04My4zMjhhMTg1LjYgMTg1LjYgMCAwIDAtMTg1LjQwOC0xODUuNDA4QTE4NS42IDE4NS42IDAgMCAwIDE4OS40NCAyODIuOTQ0YzAgMjguMjg4IDYuNzg0IDU2LjE5MiAyMC4yODggODIuOTQ0eiBtMTY1LjEyLTIwMy4wMDhjNjYuMTEyIDAgMTE5LjkzNiA1My44MjQgMTE5LjkzNiAxMjAgMCAxNy43MjgtNC43MzYgMzcuMTItMTMuMDU2IDUzLjEyLTUuNjk2IDEwLjU2LTU1LjE2OCA4Mi4zNjgtMTA2LjYyNCAxNTUuODQtNDcuMjMyLTY2LjgxNi0xMDAuNzM2LTE0My42MTYtMTA2Ljk0NC0xNTUuNTJhMTE4LjcyIDExOC43MiAwIDAgMS0xMy4zMTItNTMuNDRjMC02Ni4xNzYgNTMuODI0LTEyMCAxMjAtMTIweiIgID48L3BhdGg+PHBhdGggZD0iTTMyMC4zMiAyODMuMDA4YTU0LjUyOCA1NC41MjggMCAxIDAgMTA5LjA1NiAwIDU0LjUyOCA1NC41MjggMCAwIDAtMTA5LjA1NiAweiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1mYW5nZGEiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0zNjIuNjY2NjY3IDUzMy4zMzMzMzNoODUuMzMzMzMzdjg1LjMzMzMzNGg4NS4zMzMzMzN2LTg1LjMzMzMzNGg4NS4zMzMzMzR2LTg1LjMzMzMzM2gtODUuMzMzMzM0di04NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzN6IiAgPjwvcGF0aD48cGF0aCBkPSJNMTI4IDQ5MC42NjY2NjdhMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMSAxIDY0Ny41MDkzMzMgMjI0LjUxMmwxOTMuMzIyNjY3IDE5My4zMjI2NjYtNjAuMzMwNjY3IDYwLjMzMDY2Ny0xOTMuMzIyNjY2LTE5My4zMjI2NjdBMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMCAxIDEyOCA0OTAuNjY2NjY3ek00OTAuNjY2NjY3IDIxMy4zMzMzMzNhMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMSAwIDAgNTU0LjY2NjY2NyAyNzcuMzMzMzMzIDI3Ny4zMzMzMzMgMCAwIDAgMC01NTQuNjY2NjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1zdW94aWFvIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNjE4LjY2NjY2NyA1MzMuMzMzMzMzaC0yNTZ2LTg1LjMzMzMzM2gyNTZ2ODUuMzMzMzMzeiIgID48L3BhdGg+PHBhdGggZD0iTTEyOCA0OTAuNjY2NjY3YTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDEgMSA2NDcuNTA5MzMzIDIyNC41MTJsMTkzLjMyMjY2NyAxOTMuMzIyNjY2LTYwLjMzMDY2NyA2MC4zMzA2NjctMTkzLjMyMjY2Ni0xOTMuMzIyNjY3QTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDAgMSAxMjggNDkwLjY2NjY2N3pNNDkwLjY2NjY2NyAyMTMuMzMzMzMzYTI3Ny4zMzMzMzMgMjc3LjMzMzMzMyAwIDEgMCAwIDU1NC42NjY2NjcgMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMCAwIDAtNTU0LjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tYm9mYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNODc1LjYwNTMzMyA1NDguMzk0NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgMC03Mi43ODkzMzRMMzMxLjYwNTMzMyAxNDMuMDE4NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAtNjQuOTM4NjY2IDM2LjQzNzMzM3Y2NjUuMDg4YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgNjQuOTM4NjY2IDM2LjM5NDY2N2w1NDQtMzMyLjU0NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tZGl5aWdlIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMzQxLjMzMzMzMyAxMjh2NzY4SDI1NlYxMjhoODUuMzMzMzMzek03ODAuNTAxMzMzIDg4My40OTg2NjdsLTM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDAtNjAuMzMwNjY2bDM0MS4zMzMzMzMtMzQxLjMzMzMzNCA2MC4zMzA2NjcgNjAuMzMwNjY3TDUyOS42NjQgNTEybDMxMS4xNjggMzExLjE2OC02MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1xaWFueWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTMxMS4xNjggNDgxLjgzNDY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzQgNjAuMzMwNjY3IDYwLjMzMDY2N0w0MDEuNjY0IDUxMmwzMTEuMTY4IDMxMS4xNjgtNjAuMzMwNjY3IDYwLjMzMDY2Ny0zNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMSAwLTYwLjMzMDY2NnoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24teGlheWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTcxMi44MzIgNDgxLjgzNDY2N2wtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjM3MzMzNCA2MC4zMzA2NjdMNjIyLjI5MzMzMyA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zNzMzMzQgNjAuMzMwNjY3IDM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDAtNjAuMzMwNjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi16YW50aW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNDI2LjY2NjY2NyAxNzAuNjY2NjY3SDIxMy4zMzMzMzN2NjgyLjY2NjY2NmgyMTMuMzMzMzM0VjE3MC42NjY2Njd6TTgxMC42NjY2NjcgMTcwLjY2NjY2N2gtMjEzLjMzMzMzNHY2ODIuNjY2NjY2aDIxMy4zMzMzMzRWMTcwLjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tenVpaG91eWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTY4Mi42NjY2NjcgMTI4djc2OGg4NS4zMzMzMzNWMTI4aC04NS4zMzMzMzN6TTI0My40OTg2NjcgODgzLjQ5ODY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMCAwLTYwLjMzMDY2NmwtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjMzMDY2NyA2MC4zMzA2NjdMNDk0LjMzNiA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTI4IDE4MS4zMzMzMzN2NjRoNzY4di02NEgxMjh6TTEyOCAzODRsMTkyIDEyOEwxMjggNjQwVjM4NHpNODk2IDQ4MEg0MjYuNjY2NjY3djY0aDQ2OS4zMzMzMzN2LTY0ek04OTYgNzc4LjY2NjY2N3Y2NEgxMjh2LTY0aDc2OHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tc3VvZmFuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTU5Ny4zMzMzMzMgNDEzLjM1NDY2N0gzOTQuNjY2NjY3djY0aDE3MC42NjY2NjZ2MTcwLjY2NjY2Nmg2NHYtMjAyLjY2NjY2NmEzMiAzMiAwIDAgMC0zMi0zMnoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0xMzguNjY2NjY3IDE4OS4zNTQ2NjdhMzIgMzIgMCAwIDEgMzItMzJoNjgyLjY2NjY2NmEzMiAzMiAwIDAgMSAzMiAzMnY2ODIuNjY2NjY2YTMyIDMyIDAgMCAxLTMyIDMySDE3MC42NjY2NjdhMzIgMzIgMCAwIDEtMzItMzJ2LTY4Mi42NjY2NjZ6IG02ODIuNjY2NjY2IDY1MC42NjY2NjZ2LTYxOC42NjY2NjZIMjAyLjY2NjY2N3YzMjBINDY5LjMzMzMzM2EzMiAzMiAwIDAgMSAzMiAzMnYyNjYuNjY2NjY2aDMyMHogbS02MTguNjY2NjY2IDBoMjM0LjY2NjY2NnYtMjM0LjY2NjY2NmgtMjM0LjY2NjY2NnYyMzQuNjY2NjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PC9zdmc+JywgZnVuY3Rpb24gKG8pIHsgdmFyIGEgPSAoYSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSlbYS5sZW5ndGggLSAxXSwgdCA9IGEuZ2V0QXR0cmlidXRlKCJkYXRhLWluamVjdGNzcyIpLCBhID0gYS5nZXRBdHRyaWJ1dGUoImRhdGEtZGlzYWJsZS1pbmplY3RzdmciKTsgaWYgKCFhKSB7IHZhciBpLCBlLCBoLCBsLCBuLCBjID0gZnVuY3Rpb24gKGEsIHQpIHsgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLCB0KSB9OyBpZiAodCAmJiAhby5fX2ljb25mb250X19zdmdfX2Nzc2luamVjdF9fKSB7IG8uX19pY29uZm9udF9fc3ZnX19jc3NpbmplY3RfXyA9ICEwOyB0cnkgeyBkb2N1bWVudC53cml0ZSgiPHN0eWxlPi5zdmdmb250IHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDFlbTtoZWlnaHQ6IDFlbTtmaWxsOiBjdXJyZW50Q29sb3I7dmVydGljYWwtYWxpZ246IC0wLjFlbTtmb250LXNpemU6MTZweDt9PC9zdHlsZT4iKSB9IGNhdGNoIChhKSB7IGNvbnNvbGUgJiYgY29uc29sZS5sb2coYSkgfSB9IGkgPSBmdW5jdGlvbiAoKSB7IHZhciBhLCB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IHQuaW5uZXJIVE1MID0gby5faWNvbmZvbnRfc3ZnX3N0cmluZ18zOTI5MjA5LCAodCA9IHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN2ZyIpWzBdKSAmJiAodC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgInRydWUiKSwgdC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSIsIHQuc3R5bGUud2lkdGggPSAwLCB0LnN0eWxlLmhlaWdodCA9IDAsIHQuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIiwgdCA9IHQsIChhID0gZG9jdW1lbnQuYm9keSkuZmlyc3RDaGlsZCA/IGModCwgYS5maXJzdENoaWxkKSA6IGEuYXBwZW5kQ2hpbGQodCkpIH0sIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgPyB+WyJjb21wbGV0ZSIsICJsb2FkZWQiLCAiaW50ZXJhY3RpdmUiXS5pbmRleE9mKGRvY3VtZW50LnJlYWR5U3RhdGUpID8gc2V0VGltZW91dChpLCAwKSA6IChlID0gZnVuY3Rpb24gKCkgeyBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZSwgITEpLCBpKCkgfSwgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGUsICExKSkgOiBkb2N1bWVudC5hdHRhY2hFdmVudCAmJiAoaCA9IGksIGwgPSBvLmRvY3VtZW50LCBuID0gITEsIGQoKSwgbC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7ICJjb21wbGV0ZSIgPT0gbC5yZWFkeVN0YXRlICYmIChsLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGwsIHYoKSkgfSkgfSBmdW5jdGlvbiB2KCkgeyBuIHx8IChuID0gITAsIGgoKSkgfSBmdW5jdGlvbiBkKCkgeyB0cnkgeyBsLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpIH0gY2F0Y2ggKGEpIHsgcmV0dXJuIHZvaWQgc2V0VGltZW91dChkLCA1MCkgfSB2KCkgfSB9KHdpbmRvdyk7",self.location).href}),ct=i=>Ie(exports,[i],function*({target:t,value:M}){try{let n="";if(!navigator.clipboard)return console.warn("Browser don't have support for native clipboard."),!1;if(t){const z=document.querySelector(t);if(!z||!z.textContent)return console.warn("Element not found"),!1;M=z.textContent}return M&&(n=M),yield navigator.clipboard.writeText(n),!0}catch(n){return!1}});const fe=({text:t})=>{const[M,i]=o.useState();return o.useEffect(()=>{M&&setTimeout(()=>i(void 0),2e3)},[M]),M?e.jsx("div",{className:"copy-tip",children:M==="success"?e.jsx(UM.CheckOutlined,{style:{color:"rgba(48, 191, 19, 1)"}}):e.jsx(UM.CloseOutlined,{style:{color:"#dc4446"}})}):e.jsx(BM.Tooltip,{title:"复制",children:e.jsx("div",{className:"copy-btn",onClick:()=>{ct({value:t}).then(n=>{i(n?"success":"failed")})},children:e.jsx(X,{type:"icon-fuzhi"})})})},rt=s=>{var j=s,{node:t,inline:M,className:i,children:n}=j,z=dM(j,["node","inline","className","children"]);const g=/language-(\w+)/.exec(i||""),N=g?g[1]:null;return!M&&N?e.jsxs("div",{className:"markdown-code",children:[e.jsxs("div",{className:"markdown-code-title",children:[e.jsx("span",{className:"markdown-code-title-text",children:N}),e.jsx(BM.Space,{className:"markdown-code-title-action",children:e.jsx(fe,{text:String(n)})})]}),e.jsx(_e.Prism,MM(Y({className:"markdown-code-context",language:N},z),{wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:String(n).replace(/\n$/,"")}))]}):e.jsx("code",MM(Y({className:i},z),{children:n}))},me=rt,at=t=>{var z,s;const n=t,{node:M}=n,i=dM(n,["node"]);if(M.tagName==="a"&&((z=M.children)==null?void 0:z.length)>0){const j=((s=M.children[0])==null?void 0:s.value)||"";let g=/(^https?:\/\/|^www\.)(?:www\.)?[\w\-]+(\.[\w\-]+)+(\/[\w\- .\/?%&=]*)?/g,N=j.match(g),c=j.replace(g,"").trim();if(!(N!=null&&N.length))return e.jsx("a",Y({},i));const u=N[0];return e.jsxs(e.Fragment,{children:[e.jsx("a",MM(Y({href:/^www\./.test(u)?"//"+u:u,onClick:()=>window.open(t.href,t.target||"_blank")},i),{children:u})),c]})}return e.jsx("a",Y({},i))},he=at,gt=s=>{var j=s,{showLatex:t=!0,components:M={},componentProps:i,children:n}=j,z=dM(j,["showLatex","components","componentProps","children"]);const g=o.useRef(null),N=Y({img(c){return e.jsx(Ee,Y(Y({},c),i==null?void 0:i.img))},code(c){return e.jsx(me,Y(Y({},c),i==null?void 0:i.code))},video(c){return e.jsx(ZM,Y(Y({},c),i==null?void 0:i.video))},a(c){return e.jsx(he,Y(Y({},c),i==null?void 0:i.a))}},M);return e.jsx("div",{ref:g,children:e.jsx(Ze,MM(Y({className:"markdown",rehypePlugins:[Fe,[He,{target:"_blank"}]],remarkPlugins:[Je,[Ve,{singleTilde:!1}]]},z),{children:t?Nt(n):n,components:N}))})};const sM=t=>{var M;return e.jsx("button",MM(Y({},t),{className:`g-icon-btn disabled ${(M=t==null?void 0:t.className)!=null?M:""}`}))},lt=t=>{var I,T;const M=o.useRef(null),{className:i,headerClassName:n,style:z,visible:s,mode:j="normal",header:g,icons:N={collapseButton:e.jsx(X,{type:"icon-yincang"}),expandButton:e.jsx(X,{type:"icon-yincang"}),fullscreenButton:e.jsx(X,{type:"icon-suofang"}),exitFullscreenButton:e.jsx(X,{type:"icon-suofang"})},extraButtons:c=[],onNormalize:u,onMinimize:L,onMaximize:f}=t,[A,a]=o.useState(j==="max"),[m,C]=o.useState(j==="min"),S=o.useRef(null),[h,U]=o.useState(j);o.useEffect(()=>{a(j==="max"),C(j==="min"),U(j)},[j]);const Q=()=>{a(!A),U(A?"normal":"max"),A?u&&u():f&&f()},B=()=>{C(!m),U(m?"normal":"min"),m?u&&u():L&&L()};o.useEffect(()=>{S.current&&A&&(S.current.style.transform="none")},[A]);const W=(T=t.fullScreenContainer)!=null?T:(I=M.current)==null?void 0:I.parentElement,l=W==null?void 0:W.getBoundingClientRect(),v={position:"fixed",top:l==null?void 0:l.y,left:l==null?void 0:l.x,width:m?0:l==null?void 0:l.width,height:l==null?void 0:l.height};return e.jsxs("div",{className:"g-expandable-pannel-wrap",style:Y({visibility:s!==!1?"visible":"hidden",position:A&&!m?"absolute":"unset"},A?v:null),ref:M,children:[!m&&e.jsxs("div",{className:`g-expandable-pannel ${A?"full":""} `,style:Y({},z),children:[g!=null?g:e.jsx("div",{className:`g-expandable-pannel-header ${n!=null?n:""}`,children:e.jsx(sM,{onClick:Q,children:A?N.exitFullscreenButton:N.fullscreenButton})}),e.jsx("div",{className:"g-expandable-pannel-body",children:t.children})]}),e.jsx("div",{className:`g-expandable-pannel-expand-bar ${m?"collapsed":"expaned"} ${n!=null?n:""}`,children:e.jsx(sM,{onClick:B,children:m?N.expandButton:N.collapseButton})})]})};const ut={stroke:"rgba(255, 77, 79, 0.25)",strokeWidth:1},Se=t=>{const{style:M,passes:i,scale:n,activePassId:z,passStyle:s,activePassStyle:j}=t;return e.jsx("svg",{className:"pass-map",style:M,children:i.map((g,N)=>{var u;const c=g.id===z?j:ut;return e.jsx("g",{children:e.jsx("polygon",{points:(u=g.points)==null?void 0:u.map(L=>`${L.x*n} ${L.y*n}`).join(","),style:Y(Y(Y({},s),g.passStyle),c)})},N)})})};const Dt=t=>{var L,f,A,a;const u=t,{children:M,open:i,point:n,key:z,style:s}=u,j=dM(u,["children","open","point","key","style"]),[g,N]=o.useState(i&&n.tooltipOpen!==void 0?n.tooltipOpen:void 0),c=o.useRef(null);return o.useEffect(()=>{var S,h;if(!n.tooltipRender||!c.current)return;const m=n.tooltipRender(n);if(typeof m=="string"||typeof m=="number"){c.current.innerText=m.toString();return}const C=(S=c.current)==null?void 0:S.firstChild;C?C.replaceWith(m):(h=c.current)==null||h.appendChild(m),console.log("tooltip inner text",n.id),console.log(new Date().valueOf())},[n.tooltipRender,g]),o.useEffect(()=>{N(n.tooltipOpen!==void 0?n.tooltipOpen&&i:void 0)},[n.tooltipOpen!==void 0?n.tooltipOpen&&i:void 0]),console.log("render PointTooltip",n.id),console.log(new Date().valueOf()),e.jsx(we,MM(Y({},j),{autoAdjustOverflow:!1,placement:"top",open:n.tooltipOpen!==void 0?n.tooltipOpen&&i:void 0,onOpenChange:m=>{var h,U;if(n.tooltipOpen||N(m),console.log("tooltip inner text",n.id),console.log(new Date().valueOf()),!n.tooltipRender||!c.current)return;const C=n.tooltipRender(n);if(typeof C=="string"||typeof C=="number"){c.current.innerText=C.toString();return}const S=(h=c.current)==null?void 0:h.firstChild;S?S.replaceWith(C):(U=c.current)==null||U.appendChild(C)},color:((L=n.tooltipStyle)==null?void 0:L.backgroundColor)||((f=n.tooltipStyle)==null?void 0:f.backgroundImage)||((a=(A=n.tooltipStyle)==null?void 0:A.background)==null?void 0:a.toString()),title:e.jsx("div",{ref:c},z),overlayInnerStyle:n.tooltipStyle,destroyTooltipOnHide:!0,style:Y({zIndex:9},s),motion:{forceRender:!0},children:M}))},yt=Dt,It={attributes:!0,characterData:!0},dt=t=>{const M=o.useRef(null),{point:i,open:n,id:z,x:s,y:j,r:g,active:N=!1,hidden:c=!1,onPointClick:u,getTooltipContainer:L}=t,[f,A]=o.useState(t.style),[a,m]=o.useState(!0);o.useEffect(()=>{const h=qe.diff(f,t.style);Object.keys(h).length&&A(t.style)},[t.style]);const C=o.useMemo(()=>e.jsx("circle",{id:`mark-${z}`,className:"point point-active",cx:s,cy:j,r:g,ref:M,style:f,onClick:()=>u&&u(i)}),[s,j,g,f,N]),S=o.useMemo(()=>{const h=Mt(()=>{m(!0),console.log("show tooltip",i.id),console.log(new Date().valueOf())},200);return new MutationObserver(()=>{console.log("circle is changed"),console.log("hide tooltip",i.id),console.log(new Date().valueOf()),m(!1),h()})},[]);return o.useEffect(()=>{if(!(!M.current||!i.tooltipRender))return S.observe(M.current,It),()=>{M.current&&S.disconnect()}},[s,j,g]),c?e.jsx(e.Fragment,{}):i.tooltipRender&&a?e.jsx(yt,{open:n,point:i,getPopupContainer:L,children:C}):C},de=dt,Oe=t=>{var mM;const{width:M,height:i,points:n,scale:z,pointSize:s=6,direction:j,activePointId:g,style:N,lineStyle:c,pointStyle:u,directionStyle:L,marks:f,resizable:A,transform:a,keepRatio:m=!1,onPointClick:C,onTransform:S,onPointsChange:h,onCancelResize:U,actions:Q=!0,setIsSaved:B,isSaved:W=!1}=t,l=o.useRef(null),v=o.useRef(null),I=o.useRef(null),T=o.useRef(null),E=o.useRef(null),[_,oM]=o.useState(null),[D,d]=o.useState((a==null?void 0:a.scale)||[1,1]),[O,P]=o.useState((a==null?void 0:a.rotate)||0),[Z,gM]=o.useState((a==null?void 0:a.translate)||[0,0,0,0]),[jM,eM]=o.useState([]),[R,zM]=o.useState(),[rM,nM]=o.useState(),[iM,H]=o.useState(A),[TM,J]=o.useState([]),[K,LM]=o.useState(n),[AM,WM]=o.useState(!0),[F,uM]=o.useState(),[q,cM]=o.useState(),[xM,kM]=o.useState(typeof Q!="boolean"?Q:Q===!0?{}:null),DM=(s-s/4*.9)*2/z;o.useEffect(()=>{kM(typeof Q!="boolean"?Q:Q===!0?{}:null)},[Q]);const pM=(r,y)=>{if(!r.length)return;let b;return r.map(w=>{var tM;if(!b){b=w;return}const G=e.jsx("line",{x1:Number.isFinite(b.x)?b.x:0,y1:Number.isFinite(b.y)?b.y:0,x2:Number.isFinite(w.x)?w.x:0,y2:Number.isFinite(w.y)?w.y:0,style:MM(Y(Y({stroke:"#1F66E1BF"},c),b.lineStyle),{strokeWidth:Number((c==null?void 0:c.strokeWidth)||((tM=b.lineStyle)==null?void 0:tM.strokeWidth)||2)/y})},w.id);return b=w,G})},wM=new ResizeObserver(()=>{l.current&&(v.current&&(v.current.style.transform="none",v.current.style.width="auto",v.current.style.height="100%"),v.current&&(v.current.style.width="100%",v.current.style.height="100%"))});o.useEffect(()=>{var r;cM((r=I.current)==null?void 0:r.getBoundingClientRect())},[N==null?void 0:N.left,N==null?void 0:N.top,N==null?void 0:N.width,N==null?void 0:N.height,z]),o.useEffect(()=>{H(A)},[A]),o.useEffect(()=>{LM(n||[])},[n,TM]),o.useEffect(()=>{var r;(!((r=I.current)!=null&&r.style.transform)||I.current.style.transform==="none")&&(d((a==null?void 0:a.scale)||[1,1]),P((a==null?void 0:a.rotate)||0),gM((a==null?void 0:a.translate)||[0,0,0,0]))},[(mM=I.current)==null?void 0:mM.style.transform]),o.useEffect(()=>{!I.current||iM||(I.current.style.transform="none",d((a==null?void 0:a.scale)||[1,1]),P((a==null?void 0:a.rotate)||0),gM((a==null?void 0:a.translate)||[0,0,0,0]))},[iM]),o.useEffect(()=>{if(l.current)return wM.observe(l.current),()=>{l.current&&wM.unobserve(l.current)}},[l.current]),o.useEffect(()=>{!_||!a||(_.throttleDragRotate=a.rotate,_.throttleScale=a.scale,_.throttleDrag=a.translate)},[_,a]),o.useEffect(()=>{zM(K==null?void 0:K.find(y=>y.id===g));let r=K.map(y=>{var tM,hM,IM;const b=y.x,x=y.y,w=y.id===g,G=s*(w?1.2:1)/z;return e.jsx(de,{open:AM,id:y.id,point:y,getTooltipContainer:()=>E.current||document.body,x:b,y:x,r:u!=null&&u.r||(tM=y.pointStyle)!=null&&tM.r?Number((u==null?void 0:u.r)||((hM=y.pointStyle)==null?void 0:hM.r))/z:G/2,hidden:w,style:MM(Y(Y({stroke:"#1F66E1BF",fill:"#fff",cursor:C?"pointer":"unset"},u),y.pointStyle),{strokeWidth:Number(((IM=y.pointStyle)==null?void 0:IM.strokeWidth)||2)/z,r:void 0}),onPointClick:C},y.id)})||[];eM(r)},[K,g,z,AM]),o.useEffect(()=>{var w,G,tM;if(!R){nM(void 0);return}const r=R.x,y=R.y,b=R.id===g,x=s*(b?1.2:1)/z;nM(e.jsxs("g",{children:[j!==void 0&&e.jsx("circle",{id:`mark-${R.id}`,cx:r,cy:y,r:`${DM}`,strokeDasharray:DM*2*Math.PI,strokeDashoffset:DM*2*Math.PI/360*(360-60),style:Y({transform:`rotate(${j+240}deg)`,transformOrigin:`${r}px ${y}px`,strokeWidth:DM*2,stroke:"#1F66E1BF",fill:"transparent",pointerEvents:"none"},L)}),e.jsx(de,{open:AM,point:R,getTooltipContainer:()=>E.current||document.body,x:r,y,r:(w=R.pointStyle)!=null&&w.r?Number((G=R.pointStyle)==null?void 0:G.r)/z:x/2,style:MM(Y(Y({stroke:"#1F66E1BF",fill:"#fff"},u),R.pointStyle),{strokeWidth:Number(((tM=R.pointStyle)==null?void 0:tM.strokeWidth)||2)/z,r:void 0}),onPointClick:C},R.id)]},R.id))},[R,j,z,AM]),o.useEffect(()=>{I.current&&setTimeout(()=>{var r,y;uM((r=I.current)==null?void 0:r.getBBox()),cM((y=I.current)==null?void 0:y.getBoundingClientRect())},100)},[a]),o.useEffect(()=>{var y,b;if(!I.current)return;uM((y=I.current)==null?void 0:y.getBBox()),cM((b=I.current)==null?void 0:b.getBoundingClientRect()),new ResizeObserver(()=>{var x,w;uM((x=I.current)==null?void 0:x.getBBox()),cM((w=I.current)==null?void 0:w.getBoundingClientRect())}).observe(I.current)},[I.current]),o.useEffect(()=>{W&&(NM(),B&&B(!1))},[W]);const NM=()=>{var x;const r=(x=T.current)==null?void 0:x.getBoundingClientRect();if(!r){h&&h(n),H(!1);return}const y=TM.map(w=>{const G=w.getBoundingClientRect();return{id:w.id.split("-")[1],x:(G.x+G.width/2-r.x)/z,y:(G.y+G.height/2-r.y)/z}}),b=n.map(w=>{const G=y==null?void 0:y.find(tM=>tM.id.toString()===w.id.toString());return G?Y(Y({},w),G):w});LM(b),h&&h(b.length?b.map((w,G)=>({id:w.id,x:w.x,y:w.y,order:G})):n),H(!1)},yM=r=>r.map(y=>{const{render:b,renderData:x}=y,w=y.x*z,G=y.y*z;return e.jsx(we,{className:"track-map-marker-tooltip",placement:"top",title:b(x,Y({},y)),open:!!x,style:{zIndex:9999},children:e.jsx("circle",{id:`mark-${y.id}`,cx:w,cy:G,r:s/2,style:{stroke:"#1F66E100",strokeWidth:2,fill:"#fff0"},children:e.jsx("span",{children:x.label})})},y.id)}),CM=F?{x:F.x+F.width/2,y:F.y+F.height/2}:{x:0,y:0},EM=K.reduce((r,y)=>[Math.min(r[0],y.x),Math.max(r[1],y.x)],[0,0]),fM=K.reduce((r,y)=>[Math.min(r[0],y.y),Math.max(r[1],y.y)],[0,0]);return e.jsx(BM.ConfigProvider,{prefixCls:"g-rc",children:e.jsxs("div",{className:"track-map",style:{width:"100%",height:"100%"},ref:l,children:[e.jsx("svg",{style:N,ref:T,viewBox:`0 0 ${M} ${i}`,children:e.jsxs("g",{ref:I,x:EM[0],y:fM[0],width:EM[1]-EM[0],height:fM[1]-fM[0],style:{transformOrigin:`${CM.x}px ${CM.y}px`,cursor:iM?"url('./images/icon-move.svg') 16 16, move":"unset",transform:a&&a.scale?`${a.translate?` translate(${a.translate[0]}px, ${a.translate[1]}px)`:""} rotate(${a.rotate}rad)${a.scale?` scale(${a.scale[0]}, ${a.scale[1]})`:""}`:"none"},children:[F&&e.jsx("rect",{x:F.x,y:F.y,width:F.width,height:F.height,fill:"#ff000004"}),e.jsx("g",{className:"track-lines",children:pM((K==null?void 0:K.filter(r=>r.order>-1))||[],z)}),e.jsxs("g",{className:"track-points",children:[jM,rM]}),f&&e.jsx("g",{children:yM(f)})]})}),e.jsx("div",{className:"tooltip-container",ref:E,style:{position:"fixed",top:(q==null?void 0:q.y)||0,left:(q==null?void 0:q.x)||0,width:(q==null?void 0:q.width)||0,height:(q==null?void 0:q.height)||0}}),iM&&I.current&&T.current&&e.jsx(Ke,{className:"path-moveable-control-box",ref:r=>{oM(r)},keepRatio:m,target:[I.current],draggable:!0,scalable:!0,rotatable:!0,padding:{left:10,right:10,top:10,bottom:10},onDrag:({target:r,beforeDelta:y,beforeDist:b,left:x,top:w,right:G,bottom:tM,delta:hM,dist:IM,transform:YM,clientX:VM,clientY:HM})=>{gM(IM),r.style.transform=YM},onDragStart:({inputEvent:r})=>{r.stopPropagation()},onDragEnd:()=>{var y;const r=(y=I.current)==null?void 0:y.getElementsByTagName("circle");J(r!=null&&r.length?[...r]:[]),S&&S({rotate:O,translate:Z,scale:D},r!=null&&r.length?[...r]:[],T.current||void 0)},renderDirections:m?["nw","ne","sw","se"]:["n","w","e","s","nw","ne","sw","se"],onScale:({target:r,scale:y,transform:b})=>{var w;d(y),r.style.transform=b;const x=(w=I.current)==null?void 0:w.getElementsByTagName("circle");J(x!=null&&x.length?[...x]:[]),S&&S({rotate:O,translate:Z,scale:y},x!=null&&x.length?[...x]:[],T.current||void 0)},onRotate:({target:r,dist:y,transform:b})=>{var w;P(y),r.style.transform=b;const x=(w=I.current)==null?void 0:w.getElementsByTagName("circle");J(x!=null&&x.length?[...x]:[]),S&&S({rotate:y,translate:Z,scale:D},x!=null&&x.length?[...x]:[],T.current||void 0)},onRenderEnd:()=>{var y,b,x;const r=(y=I.current)==null?void 0:y.getElementsByTagName("circle");S&&S({rotate:O,translate:Z,scale:D},r!=null&&r.length?[...r]:[],T.current||void 0),uM((b=I.current)==null?void 0:b.getBBox()),cM((x=I.current)==null?void 0:x.getBoundingClientRect())}})]})})},Te=t=>{const{name:M,type:i,style:n,className:z,children:s,onConfirm:j}=t,[g,N]=o.useState(null);return o.useEffect(()=>{if(!t.confirm){N(null);return}if(t.confirm===!0){N({text:`确认${M}吗?`});return}N(t.confirm)},[t.confirm]),g?e.jsx(et,{rootClassName:"track-map-popconfirm",okText:"确定",cancelText:"取消",title:g.text,trigger:"click",onConfirm:j,children:e.jsx(PM,{className:z,type:i,style:Y({},n),children:s||M})}):e.jsx(PM,{className:z,type:i,onClick:j,children:s||M})};let Ae;const Tt=o.forwardRef((t,M)=>{var FM,$M,XM,_M,KM,qM,Me,ee,te,ne,ie,oe,ze,Ne,se,je,ce,re,ae,ge,le;const{url:i,points:n,pointSize:z,direction:s,activePointId:j,lineStyle:g,pointStyle:N,directionStyle:c,onPointClick:u,passes:L,activePassId:f,passStyle:A,activePassStyle:a,marks:m,draggable:C=!1,offsetEdge:S=[50,50,50,50],zoomable:h=!1,zoomStep:U=.02,zoomMax:Q=2,zoomMin:B=0,onImageLoad:W,trackEditable:l,trackEditing:v,keepRatio:I,transform:T,onTrackEditingChange:E,onTransform:_,onPointsChange:oM,actions:D=!0}=t,d=o.useRef({}),O=o.useRef({}),[P,Z]=o.useState(0),[gM,jM]=o.useState(0),[eM,R]=o.useState(1),[zM,rM]=o.useState(0),[nM,iM]=o.useState(0),[H,TM]=o.useState(0),[J,K]=o.useState(0),[LM,AM]=o.useState(!1),[WM,F]=o.useState(!1),[uM,q]=o.useState(),[cM,xM]=o.useState({x:0,y:0}),[kM,DM,pM,wM]=S,[NM,yM]=o.useState(v),[CM,EM]=o.useState(1),[fM,mM]=o.useState(!1),[r,y]=o.useState(typeof D!="boolean"?D:D===!0?{}:null);o.useEffect(()=>{EM(Math.round(eM*100)/100)},[eM]),o.useEffect(()=>{yM(v)},[v]),o.useEffect(()=>{Ae=new ResizeObserver(b),Ae.observe(O.current);const k=p=>(p.preventDefault(),!1);return O.current.addEventListener("wheel",k),()=>{O.current.removeEventListener("wheel",k)}},[]);const b=()=>{if(!O.current)return;const k=O.current.clientWidth,p=O.current.clientHeight,V=d.current.naturalWidth,$=d.current.naturalHeight,lM=k/V,bM=p/$,SM=lM<bM?lM:bM,Qe=(k-V*SM)/2,Ue=(p-$*SM)/2,Be=V*SM,We=$*SM;Z(k),jM(p),R(SM),rM(Qe),iM(Ue),TM(Be),K(We),AM(!0),W&&W(d.current)},x=()=>{if(!h||eM>=Q)return;let k=eM*(1+U),p=U;k>=Q&&(k=Q,p=Q/eM-1),rM(zM-H*(p/2)),iM(nM-J*(p/2)),TM(H+H*p),K(J+J*p),R(k),YM()},w=()=>{if(!h||eM<=B)return;let k=eM*(1-U),p=U;k<=B&&(k=B,p=1-B/eM),rM(zM-H*(-p/2)),iM(nM-J*(-p/2)),TM(H+H*-p),K(J+J*-p),R(k),YM()};o.useImperativeHandle(M,()=>({zoomIn:x,zoomOut:w}));const G=k=>(k.nativeEvent.deltaY<0?x():w(),!1),tM=k=>{F(!0);const{pageX:p,pageY:V}=k;xM({x:p,y:V})},hM=k=>{if(!WM)return!1;const{pageX:p,pageY:V}=k,$=p-cM.x,lM=V-cM.y;xM({x:p,y:V}),rM(zM+$),iM(nM+lM),YM()},IM=()=>{F(!1)};window.onmouseup=()=>{F(!1)};const YM=()=>{zM<-H+wM&&rM(-H+wM),nM<-J+kM&&iM(-J+kM),zM>P-DM&&rM(P-DM),nM>gM-pM&&iM(gM-pM)},VM=()=>{yM(!NM),E&&E(!NM)},HM=k=>{const{touches:p}=k;if(console.log("onTouchStart"),console.log(p),F(!0),p.length<2){const{clientX:V,clientY:$}=p[0];xM({x:V,y:$})}else q(p)},pe=k=>{if(!WM||!k.touches)return!1;const{clientX:p,clientY:V}=k.touches[0];if(k.touches.length<2){const $=p-cM.x,lM=V-cM.y;xM({x:p,y:V}),rM(zM+$),iM(nM+lM),YM()}else{console.log("onTouchMove"),console.log(k.touches);const $=k.touches,lM=JM($[0],$[1]),bM=JM(uM[0],uM[1]);lM>bM?x():w()}},JM=(k,p)=>{const V=p.pageX-k.pageX,$=p.pageY-k.pageY;return Math.sqrt(V*V+$*$)};o.useEffect(()=>{y(typeof D!="boolean"?D:D===!0?{}:null)},[D]);const be=()=>{yM(!1),E&&E(!1)},ve=()=>{mM(!0)};return e.jsxs("div",{className:"image-map",ref:O,onMouseDown:C?tM:void 0,onMouseMove:C?hM:void 0,onMouseUp:C?IM:void 0,onWheel:C?G:void 0,onTouchStart:C?HM:void 0,onTouchMove:C?pe:void 0,onTouchEnd:C?IM:void 0,children:[e.jsx("img",{className:"img",style:{position:"absolute",left:zM,top:nM,width:H,height:J},ref:d,onLoad:b,src:i,alt:""}),LM&&(L==null?void 0:L.length)&&e.jsx(Se,{style:{position:"absolute",left:zM,top:nM,width:H,height:J},passes:L,scale:eM,activePassId:f,passStyle:A,activePassStyle:a}),LM&&!!(n!=null&&n.length)&&e.jsx(Oe,{style:{position:"absolute",left:zM,top:nM,width:H,height:J,overflow:"visible"},width:d.current.naturalWidth,height:d.current.naturalHeight,transform:T,movable:NM,resizable:NM,points:n,scale:eM,pointSize:z,direction:s,activePointId:j,lineStyle:g,pointStyle:N,directionStyle:c,keepRatio:I,marks:m,onPointClick:u,onTransform:_,onPointsChange:k=>{oM&&oM(k),yM(!1),E&&E(!1)},onCancelResize:()=>{yM(!1),E&&E(!1)},actions:D,setIsSaved:mM,isSaved:fM}),l&&e.jsxs("div",{className:"image-map-toolbar",children:[e.jsx(ke,{className:"zoom-controller",value:CM,min:B,max:Q,step:U,showText:!0,onChange:k=>{CM>k?w():x()}}),l&&(NM&&D?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsxs("div",{className:"editing-controller",children:[e.jsx(Te,{children:typeof D!="boolean"&&((FM=D.cancelButton)==null?void 0:FM.children)||void 0,name:typeof D!="boolean"&&(($M=D.cancelButton)==null?void 0:$M.text)||"退出编辑",className:`editing-controller${NM?" active":""} ${typeof D!="boolean"&&((XM=D.cancelButton)==null?void 0:XM.className)||""}`,confirm:((_M=r==null?void 0:r.cancelButton)==null?void 0:_M.confirm)===!0?{text:"调整记录将不被保存"}:(KM=r==null?void 0:r.cancelButton)!=null&&KM.confirm?r.cancelButton.confirm:!1,style:typeof D!="boolean"&&((qM=D.cancelButton)==null?void 0:qM.style)||void 0,onConfirm:be}),e.jsx(Te,{type:"primary",children:typeof D!="boolean"&&((Me=D.okButton)==null?void 0:Me.children)||e.jsxs("div",{className:"save-detail",children:[e.jsx(UM.SaveOutlined,{}),e.jsx("span",{children:"保存"})]}),name:typeof D!="boolean"&&((ee=D.okButton)!=null&&ee.confirm)?((te=D.okButton)==null?void 0:te.text)||"保存":"确定",className:`editing-controller${NM?" active":""} ${typeof D!="boolean"&&((ne=D.okButton)==null?void 0:ne.className)||""}`,confirm:((ie=r==null?void 0:r.okButton)==null?void 0:ie.confirm)===!0?{text:"调整记录保存后,将改变当前巡检数据状态"}:(oe=r==null?void 0:r.okButton)!=null&&oe.confirm?r.okButton.confirm:!1,style:typeof D!="boolean"&&((ze=D.okButton)==null?void 0:ze.style)||void 0,onConfirm:ve})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsx("div",{className:"moveable-controller",children:e.jsx(PM,{title:NM?typeof D!="boolean"&&((Ne=D.editButton)==null?void 0:Ne.exitTitleText)||"退出编辑":typeof D!="boolean"&&((se=D.editButton)==null?void 0:se.titleText)||"调整轨迹",className:`moveable-controller-btn${NM?" active":""} ${typeof D!="boolean"&&((je=D.editButton)==null?void 0:je.className)||""}`,style:typeof D!="boolean"&&((ce=D.editButton)==null?void 0:ce.style)||void 0,onClick:VM,children:typeof D!="boolean"?(re=D.editButton)!=null&&re.children?(ae=D.editButton)==null?void 0:ae.children:(ge=D.editButton)!=null&&ge.text?e.jsx("span",{children:(le=D.editButton)==null?void 0:le.text}):e.jsxs("div",{className:"btn-change",children:[e.jsx(X,{type:"icon-tiaozheng"}),e.jsx("span",{children:"修改"})]}):void 0})})]}))]})]})}),At=t=>{const{className:M,style:i,length:n=0,current:z=0,speed:s=2e3,play:j=!1,loop:g=!1,loading:N=!1,onChange:c}=t,[u,L]=o.useState(j),[f,A]=o.useState(z),[a,m]=o.useState(null);o.useEffect(()=>{A(z)},[z]),o.useEffect(()=>{L(j)},[j]),o.useEffect(()=>{u?C():f>=n-1&&(A(0),c(0))},[u]),o.useEffect(()=>{u&&(N?a&&(clearTimeout(a),m(null)):m(setTimeout(C,s)))},[N]);const C=()=>{A(U=>U<n-1?(c(U+1),U+1):g?(c(0),0):(h(),U))},S=()=>{f>=n-1&&A(0),L(!0)},h=()=>{L(!1),a&&(clearTimeout(a),m(null))};return e.jsxs("div",{className:M,style:i,children:[e.jsx(sM,{disabled:f<=0||N,onClick:()=>{c(0),A(0)},children:e.jsx(X,{type:"icon-diyige"})}),e.jsx(sM,{disabled:f<=0||N,onClick:()=>{c(f-1),A(f-1)},children:e.jsx(X,{type:"icon-qianyige"})}),u?e.jsx(sM,{onClick:h,children:e.jsx(X,{type:"icon-zanting"})}):e.jsx(sM,{disabled:f>=n-1||N,onClick:S,children:e.jsx(X,{type:"icon-bofang"})}),e.jsx(sM,{disabled:f>=n-1||N,onClick:()=>{c(f+1),A(f+1)},children:e.jsx(X,{type:"icon-xiayige"})}),e.jsx(sM,{disabled:f>=n-1||N,onClick:()=>{c(n-1),A(n-1)},children:e.jsx(X,{type:"icon-zuihouyige"})})]})};const Yt=16,Lt=16,xt=-1,wt=1,Ct=-1,Et=1,ft=t=>{const M=t||window.event,i=t.target||t.srcElement;if(M.offsetX)return M.offsetX;{const n=i.getBoundingClientRect();return M.clientX-n.left}},mt=t=>{const M=t||window.event,i=t.target||t.srcElement;if(M.offsetY)return M.offsetY;{const n=i.getBoundingClientRect();return M.clientY-n.top}},ht=t=>{const M=t.split("-");let i=M.length>1||M[0]==="left"||M[0]==="right"?M[0]:"center",n=M.length>1?M[1]:M[0]==="top"||M[0]==="bottom"?M[0]:"middle";return[i,n]},St=(t,M,i=[Yt,Lt])=>{const n=()=>{switch(t[0]){case"left":return xt;case"right":return wt;default:return 0}},z=()=>{switch(t[1]){case"top":return Ct;case"bottom":return Et;default:return 0}},s=()=>{switch(t[0]){case"left":return-((M==null?void 0:M.width)||0)-i[0]-2;case"right":return 0;default:return-((M==null?void 0:M.width)||0)/2}},j=()=>{switch(t[1]){case"top":return-i[1]-2;case"bottom":return(M==null?void 0:M.height)||0;default:return((M==null?void 0:M.height)||0)/2}};return{x:i[0]*n()+s(),y:i[1]*z()+j()}},Ot=t=>{var Q;const{children:M,defaultPosition:i,forElement:n,placement:z="right-bottom",curserPosition:s,className:j,style:g}=t,N=o.useRef(null),c=o.useRef(null),u=n||document.body,L=ht(z),f=St(L,(Q=c.current)==null?void 0:Q.getBoundingClientRect(),s),[A,a]=o.useState(t.visible||!0),[m,C]=o.useState(i||{x:-2e3,y:-2e3});o.useEffect(()=>(u.addEventListener("mouseenter",S),u.addEventListener("mousemove",U),u.addEventListener("mouseleave",h),()=>{u.removeEventListener("mouseenter",S),u.removeEventListener("mousemove",U),u.removeEventListener("mouseleave",h)}),[u]),o.useEffect(()=>{a(t.visible||!0)},[t.visible]);const S=()=>{a(!0)},h=()=>{a(!1)},U=B=>{let W=ft(B)+f.x;const l=mt(B)+f.y;C({x:W,y:l})};return e.jsx("div",{className:`g-mouse-tip ${L.join(" ")}`,ref:N,style:{left:`${m.x}px`,top:`${m.y}px`,visibility:`${A?"visible":"hidden"}`},children:e.jsx("div",{className:`g-mouse-tip-content ${j}`,style:g,ref:c,children:M})})},ke=t=>{const{className:M,style:i,value:n,min:z,max:s,step:j=1,onChange:g,showText:N=!1}=t,[c,u]=o.useState(n!=null?n:0);return o.useEffect(()=>{u(n!=null?n:0)},[n]),e.jsxs("div",{className:M,style:i,children:[e.jsx(sM,{disabled:!!(s&&s<=c),onClick:()=>{g(c+j),u(c+j)},children:e.jsx(X,{type:"icon-fangda"})}),N&&e.jsxs("div",{style:{width:40,textAlign:"center"},children:[Math.round(c*100),"%"]}),e.jsx(sM,{disabled:!!(z&&z>=c),onClick:()=>{g(c-j),u(c-j)},children:e.jsx(X,{type:"icon-suoxiao"})})]})};function kt(t,M){var i=document.getElementsByTagName("body")[0],n=document.createElement("script");n.setAttribute("type","text/javascript"),n.setAttribute("src",t),i.appendChild(n),n.onload=M}function pt(t){const[M,i]=o.useState(!1),[n,z]=o.useState(),[s,j]=o.useState(),[g,N]=o.useState(!1),[c,u]=o.useState(),[L,f]=o.useState([]),[A,a]=o.useState(0);function m(l){if(l.viewType!="3DView"){console.error("bimface view type is not 3DView");return}i(!0),c&&C(l.viewToken)}const C=l=>{if(!n){let v=c,I=new window.Glodon.Bimface.Application.WebApplication3DConfig;I.domElement=v,I.Toolbars=[];const T=new window.Glodon.Bimface.Application.WebApplication3D(I);T.addView(l),z(T);const E=T.getViewer();E.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded,function(){window.onresize=function(){E.resize(document.documentElement.clientWidth,document.documentElement.clientHeight-40)},E.setCameraAnimation(!1),E.render(),E.setNavigationMode(window.Glodon.Bimface.Viewer.NavigationMode3D.Walk),E.render(),N(!0)}),E.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ModelAdded,()=>{a(_=>_+1)}),j(E)}};o.useEffect(()=>{g&&L.forEach(l=>{s.loadModel({viewToken:l})})},[g,L]),o.useEffect(()=>{},[A]),o.useEffect(()=>{if(!c||!L.length)return;const l=L.pop();l&&h(l),f([...L])},[c]);function S(l){console.log(l)}function h(l){a(0);const v=()=>{let I=new window.BimfaceSDKLoaderConfig;I.viewToken=l,window.BimfaceSDKLoader.load(I,m,S)};if(!window.BimfaceSDKLoaderConfig){kt("https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js",v);return}v()}const U=(l,v)=>{if(!s||!g||!c){console.error("BIMFace viewer is not ready.");return}const I=c.getElementsByTagName("canvas")[0],T=document.createElement("canvas");T.width=I.width,T.height=I.height;const E=T.getContext("2d");return E&&(E.fillStyle="#fff",E.fillRect(0,0,T.width,T.height),E.drawImage(I,0,0,I.width,I.height)),T.toDataURL(l,v)},Q=l=>{if(!s){console.error("viewer is not ready");return}if(A&&L.length+1===A||!L.length)s.getAllModels().map(T=>s._models[T.modelId]).forEach(T=>{let E=new window.Glodon.Web.Graphics.Color(l);T.overrideAllComponentsColor&&T.overrideAllComponentsColor(E)}),s.enableWireframe(!0),s.getLightManager().getAllFillLights().forEach(T=>T.enableLight(!0)),s.render();else{console.error("viewer is not render complete");return}},B=l=>{if(s)if(A&&L.length+1===A||!L.length)s.getAllModels().map(T=>s._models[T.modelId]).forEach(T=>{Object.keys(l).forEach(E=>{let _=[{categoryId:E}];T.getComponentsByConditions(_,function(oM){let D=new window.Glodon.Web.Graphics.Color(l[E]);T.overrideComponentsColorById&&T.overrideComponentsColorById(oM,D)},function(){window.alert("error")})})}),s.enableWireframe(!1),s.getLightManager().getAllFillLights().forEach(T=>T.enableLight(!1)),s.render();else{console.error("viewer is not render complete");return}};function W(l,v,I){const T=s.getModel();T==null||T.getBoundingBox(({currentBoundingBox:E})=>{const _=E.max.x-E.min.x,oM=E.max.y-E.min.y,D=_/oM;let d,O;D>1?(d=v.width,O=d/D):(O=v.height,d=O*D);const P=document.createElement("div");P.setAttribute("style",`width: ${d}px;height: ${O}px`),document.body.appendChild(P);const Z=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewerConfig;Z.domElement=P;const gM=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewer(Z),jM=new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMapConfig;jM.viewer=s,jM.mapViewer=gM,jM.type="SetProfile",jM.height=l,jM.successCallback=eM=>{setTimeout(()=>{const R=new Image;R.src=P.getElementsByTagName("image")[0].getAttribute("href")||"",R.onload=()=>{I(R)}},200)},new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMap(jM)})}return{BimfaceViewer:M&&window.Glodon.Bimface.Viewer,BimfaceSection:M&&window.Glodon.Bimface.Plugins.Section,BimfaceMark:M&&window.Glodon.Bimface.Plugins.Marker3D,BimfaceViewerEvents:M&&window.Glodon.Bimface.Viewer.Viewer3DEvent,viewer:s,viewerAdded:g,sDKLoaded:M,loadedModelCount:A,loadModels:l=>{if(l!=null&&l.length||console.error("viewTokens is Empty"),!s&&c){const v=l[0];h(v)}f(l)},setContainerDom:u,getSnapshot:U,setComponentsColorByCatgryId:B,setAllComponentsColor:Q,navigationMapByHeight:W}}function bt(t){const{url:M,onScaleChange:i,onLoad:n}=t,z=o.useRef(null),s=Ce.useSize(z),j=s==null?void 0:s.width,g=s==null?void 0:s.height,[N,c]=o.useState();return o.useEffect(()=>{j&&g&&N&&i(j/N.width,j,g)},[j,g,N]),e.jsx("img",{ref:z,src:M,className:"select-none",style:{maxWidth:"100%",maxHeight:"100%",cursor:"crosshair"},alt:"",onLoad:()=>{if(z.current){n&&n(z.current);const{naturalWidth:u,naturalHeight:L}=z.current;c({width:u,height:L})}}})}function Ye(t){const{start:M,end:i}=t,{options:{lineColor:n,lineWidth:z}}=o.useContext(OM);return e.jsx(e.Fragment,{children:e.jsx("line",{x1:M.x,y1:M.y,x2:i.x,y2:i.y,stroke:n!=null?n:"#FF5500",strokeWidth:z!=null?z:2})})}function Le(t){const{markRenderer:M,marker:i}=t,{point:{x:n,y:z}}=i;return e.jsxs("g",{children:[e.jsx("line",{}),e.jsx("line",{}),e.jsx("circle",{cx:n,cy:z,r:1,fill:"transparent"}),e.jsx("foreignObject",{x:n,y:z,width:0,height:0,fill:"green",className:"relative overflow-visible",children:e.jsx("div",{className:"inline-flex absolute",draggable:!0,onDragStart:()=>{},onDragEnd:()=>{},children:M&&M(i)})})]})}function xe(t){const{points:M,editing:i,options:n,onClose:z}=t,[s,j]=o.useState(!1),{options:{polygon:g}}=o.useContext(OM);if(!i&&RM(M)<=2)return null;const N=it(M),c=M.map(({x:h,y:U})=>`${h},${U}`).join(" "),u=N?`${c} ${N.x},${N.y}`:c,{showVertexIndex:L,vertexBgColor:f,vertexTextColor:A}=g!=null?g:{},a=L?10:5,m=i||L,{hideBorder:C,backgroundColor:S}=n!=null?n:{};return e.jsxs(e.Fragment,{children:[e.jsx("polygon",{points:`${u}`,fill:S!=null?S:"rgba(255, 66, 66, 0.15)"}),!C&&e.jsx("polyline",{points:i?c:u,fill:"transparent",stroke:"#FF5500",strokeDasharray:"6 4",strokeWidth:"2"}),!C&&(M==null?void 0:M.map(({x:h,y:U},Q)=>{const B=Q===RM(M)-1;return e.jsx("g",{style:{zIndex:B?1:100,cursor:"pointer",pointerEvents:B?"none":"bounding-box"},onMouseEnter:W=>{B||j(!0)},onMouseLeave:W=>{j(!1)},onClick:W=>{W.stopPropagation()},onDoubleClick:W=>{W.stopPropagation(),z&&z(Q)},children:m&&(!B||!s)&&e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:h,cy:U,r:a,fill:f!=null?f:"#FF5500"}),L&&e.jsx("text",{x:h,y:U,"text-anchor":"middle",fill:A!=null?A:"#fff",dy:".3em",style:{cursor:"pointer",userSelect:"none"},children:Q+1})]})})}))]})}const vt=QM.createMachine({initial:"idle",context:{},states:{idle:{on:{START_ADD_MARKER:{target:"addingMarker"},START_DRAW_LINE:{target:"drawingLine"},START_DRAW_POLYGON:{target:"drawingPolygon"}}},addingMarker:{on:{RESET:{target:"idle",actions:aM.assign(t=>{t.markerPoint=void 0})},ADD_MARKER:{target:"drawCompleted",actions:[aM.assign((t,{point:M})=>{t.markerPoint=M}),"onAddMarker"]},MOUSE_MOVE:{target:"addingMarker",actions:aM.assign((t,{point:M})=>{t.movingPoint=M})}}},drawingLine:{on:{ADD_LINE_START:{target:"drawingLine",actions:aM.assign((t,M)=>{t.lineStart=M.point})},ADD_LINE_END:{target:"drawCompleted",actions:[aM.assign((t,M)=>{t.lineEnd=M.point}),"onAddLine"]},MOUSE_MOVE:{target:"drawingLine",actions:aM.assign((t,{point:M})=>{t.movingPoint=M})},RESET:{target:"drawCompleted"},CANCEL:{target:"drawCompleted"}}},drawingPolygon:{on:{CANCEL:{target:"canceled"},RESET:{target:"idle",actions:aM.assign(t=>{t.polygonPoints=void 0})},ADD_POLYGON_POINT:{target:"drawingPolygon",actions:aM.assign((t,{point:M})=>{var i;t.polygonPoints=(i=t.polygonPoints)!=null?i:[],t.polygonPoints.push(M)})},MOUSE_MOVE:{target:"drawingPolygon",actions:aM.assign((t,{point:M})=>{t.movingPoint=M})},DRAW_POLYGON_COMPLETE:{target:"drawCompleted",actions:["onAddPolygon"]}}},drawCompleted:{always:{target:"idle"}},canceled:{}}});function Qt(t){const{state:M,scale:i,width:n,height:z,drawOptions:s,lines:j,polygons:g,markers:N,markRenderer:c,onAddLine:u,onAddPolygon:L,onAddMarker:f,onStateChange:A}=t,[a,m]=o.useState([]),[C,S]=o.useState([]),[h,U]=o.useState([]),Q=o.useRef(null),{width:B,height:W}=Ce.useSize(Q)||{};function l({x:d,y:O}){return{x:d/i,y:O/i}}function v({x:d,y:O}){return{x:d*i,y:O*i}}const[I,T]=nt.useMachine(vt,{actions:{onAddMarker:QM.assign(({markerPoint:d})=>(f&&d&&f(l(d)),{markerPoint:void 0,movingPoint:void 0})),onAddLine:QM.assign(d=>(d.lineStart&&d.lineEnd&&u&&u(l(d.lineStart),l(d.lineEnd)),{lineEnd:void 0,lineStart:void 0,movingPoint:void 0})),onAddPolygon:QM.assign(({polygonPoints:d})=>(L&&d&&d.length>2&&L(d.map(l)),{polygonPoints:void 0,movingPoint:void 0}))},services:{}});o.useEffect(()=>{var d;m((d=j==null?void 0:j.map(({id:O,start:P,end:Z})=>({id:O,start:v(P),end:v(Z)})))!=null?d:[])},[j]),o.useEffect(()=>{var d;U((d=N==null?void 0:N.map(O=>MM(Y({},O),{point:v(O.point)})))!=null?d:[])},[N]),o.useEffect(()=>{var d;S((d=g==null?void 0:g.map(({id:O,points:P,options:Z})=>({id:O,points:P.map(v),options:Z})))!=null?d:[])},[g,i]),o.useEffect(()=>{A&&I.matches("idle")&&A("viewOnly")},[I.value]),o.useEffect(()=>{if(A)switch(M){case"drawingLine":T("START_DRAW_LINE");break;case"drawingPolygon":T("START_DRAW_POLYGON");break;case"addingMarker":T("START_ADD_MARKER");break}},[M]);const{lineStart:E,lineEnd:_,polygonPoints:oM,movingPoint:D}=I.context;return e.jsx(OM.Provider,{value:{options:s!=null?s:{}},children:e.jsx("div",{ref:Q,className:"w-full h-full absolute left-0 top-0",style:{cursor:M==="viewOnly"?void 0:"crosshair",width:n,height:z},children:B&&W&&e.jsxs("svg",{viewBox:`0 0 ${B} ${W}`,version:"1.1",className:"absolute inset-0",onClick:d=>{if(!Q.current)return;const{top:O,left:P}=Q.current.getBoundingClientRect(),Z={x:d.clientX-P,y:d.clientY-O};I.matches("drawingLine")?T(E===void 0?{type:"ADD_LINE_START",point:Z}:{type:"ADD_LINE_END",point:Z}):I.matches("drawingPolygon")?T({type:"ADD_POLYGON_POINT",point:Z}):I.matches("addingMarker")&&T({type:"ADD_MARKER",point:Z})},onMouseMove:d=>{if(!Q.current)return;const{top:O,left:P}=Q.current.getBoundingClientRect(),Z={x:d.clientX-P,y:d.clientY-O};T({type:"MOUSE_MOVE",point:Z})},children:[a==null?void 0:a.map((d,O)=>e.jsx(Ye,Y({},d),O)),E&&D&&e.jsx(Ye,{start:E,end:D}),C==null?void 0:C.map(({points:d,options:O},P)=>e.jsx(xe,{editing:!1,points:d,options:O},P)),RM(oM)>0&&D&&e.jsx(xe,{editing:!0,points:[...oM,D],onClose:d=>{T({type:"DRAW_POLYGON_COMPLETE"})}}),h==null?void 0:h.map(d=>e.jsx(Le,{marker:d,markRenderer:c})),I.matches("addingMarker")&&D&&e.jsx(Le,{marker:{id:"addingMarker",point:D}})]})})})}function GM(t,M,i){if(i)return Math.abs(GM(t,i)-GM(M,i));for(var n=Math.atan2(M.y-t.y,M.x-t.x);n<0;)n+=2*Math.PI;return n}const OM=o.createContext({options:{}});OM.displayName="DrawableContext";function Ut(t){const s=t,{url:M}=s,i=dM(s,["url"]),[n,z]=tt.useImmer({scale:1,width:0,height:0});return M?e.jsxs("div",{className:"relative bg-pink-500 bg-opacity-40",children:[e.jsx(bt,{url:M,onScaleChange:(j,g,N)=>{z(c=>{c.scale=j,c.width=g,c.height=N})}}),e.jsx(Qt,Y(Y({},i),n))]}):null}exports.Button=ot;exports.Copy=fe;exports.DrawableContext=OM;exports.DrawableImageMap=Ut;exports.ExpandablePannel=lt;exports.IconButton=sM;exports.Iconfont=X;exports.ImageMap=Tt;exports.Markdown=gt;exports.MarkdownATag=he;exports.MarkdownCode=me;exports.MarkdownImage=Ee;exports.MarkdownVideo=ZM;exports.MouseTip=Ot;exports.PanoramaRecordPlayer=At;exports.PassMap=Se;exports.TrackMap=Oe;exports.Zoom=ke;exports.calAngle=GM;exports.useBimface=pt;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
interface ErrorAlertProps {
|
|
3
|
+
message: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
action?: ReactNode;
|
|
6
|
+
url?: string;
|
|
7
|
+
fileName?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const ErrorAlert: React.FC<ErrorAlertProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface FileContent {
|
|
3
|
+
content: string;
|
|
4
|
+
error?: string;
|
|
5
|
+
}
|
|
6
|
+
interface BaseRendererProps {
|
|
7
|
+
fileContent: FileContent | null;
|
|
8
|
+
fileSize: number;
|
|
9
|
+
url: string;
|
|
10
|
+
fileName?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const TextRenderer: React.FC<BaseRendererProps>;
|
|
13
|
+
export declare const JsonRenderer: React.FC<BaseRendererProps>;
|
|
14
|
+
export declare const CsvRenderer: React.FC<BaseRendererProps>;
|
|
15
|
+
export declare const TsvRenderer: React.FC<BaseRendererProps>;
|
|
16
|
+
export declare const JsonlRenderer: React.FC<BaseRendererProps>;
|
|
17
|
+
export declare const MarkdownRenderer: React.FC<BaseRendererProps>;
|
|
18
|
+
export declare const HtmlRenderer: React.FC<BaseRendererProps>;
|
|
19
|
+
export declare const XmlRenderer: React.FC<BaseRendererProps>;
|
|
20
|
+
export declare const CodeRenderer: React.FC<BaseRendererProps & {
|
|
21
|
+
url: string;
|
|
22
|
+
}>;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface MediaRendererProps {
|
|
3
|
+
url: string;
|
|
4
|
+
fileName?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const ImageRenderer: React.FC<MediaRendererProps>;
|
|
7
|
+
export declare const VideoRenderer: React.FC<MediaRendererProps>;
|
|
8
|
+
export declare const AudioRenderer: React.FC<MediaRendererProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface PdfRendererProps {
|
|
3
|
+
pdfBlobUrl: string | null;
|
|
4
|
+
pdfLoading: boolean;
|
|
5
|
+
pdfError: string | null;
|
|
6
|
+
url: string;
|
|
7
|
+
fileName?: string;
|
|
8
|
+
page?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare const PdfRenderer: React.FC<PdfRendererProps>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface ZipFile {
|
|
3
|
+
name: string;
|
|
4
|
+
size: number;
|
|
5
|
+
isDirectory: boolean;
|
|
6
|
+
}
|
|
7
|
+
interface ZipFileContent {
|
|
8
|
+
name: string;
|
|
9
|
+
blobUrl: string;
|
|
10
|
+
type: string;
|
|
11
|
+
}
|
|
12
|
+
interface ZipRendererProps {
|
|
13
|
+
zipFiles: ZipFile[];
|
|
14
|
+
zipLoading: boolean;
|
|
15
|
+
zipError: string | null;
|
|
16
|
+
selectedZipFile: string | null;
|
|
17
|
+
zipFileContent: ZipFileContent | null;
|
|
18
|
+
onFileClick: (fileName: string) => Promise<void>;
|
|
19
|
+
url: string;
|
|
20
|
+
}
|
|
21
|
+
export declare const ZipRenderer: React.FC<ZipRendererProps>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DocumentViewer 子组件导出
|
|
3
|
+
*/
|
|
4
|
+
export { ErrorAlert } from './ErrorAlert';
|
|
5
|
+
export { DownloadButton } from './DownloadButton';
|
|
6
|
+
export { TextRenderer, JsonRenderer, CsvRenderer, TsvRenderer, JsonlRenderer, MarkdownRenderer, HtmlRenderer, XmlRenderer, CodeRenderer, } from './FileRenderers';
|
|
7
|
+
export { ImageRenderer, VideoRenderer, AudioRenderer, } from './MediaRenderers';
|
|
8
|
+
export { PdfRenderer } from './PdfRenderer';
|
|
9
|
+
export { ZipRenderer } from './ZipRenderer';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DocumentViewer 组件常量配置
|
|
3
|
+
*/
|
|
4
|
+
export declare const MAX_FILE_SIZE: number;
|
|
5
|
+
export declare const MAX_DISPLAY_SIZE: number;
|
|
6
|
+
export declare const MAX_JSON_SIZE: number;
|
|
7
|
+
export declare const MAX_CSV_SIZE: number;
|
|
8
|
+
export declare const MAX_TSV_SIZE: number;
|
|
9
|
+
export declare const MAX_JSONL_SIZE: number;
|
|
10
|
+
export declare const MAX_MARKDOWN_SIZE: number;
|
|
11
|
+
export declare const MAX_XML_SIZE: number;
|
|
12
|
+
export declare const MAX_HIGHLIGHT_SIZE: number;
|
|
13
|
+
export declare const MAX_FALLBACK_SIZE: number;
|
|
14
|
+
export declare const MAX_ZIP_FILE_SIZE: number;
|
|
15
|
+
export declare const MAX_DISPLAY_LINES = 10000;
|
|
16
|
+
export declare const MAX_CSV_ROWS = 10000;
|
|
17
|
+
export declare const MAX_JSONL_LINES = 5000;
|
|
18
|
+
export declare const MAX_ZIP_FILES = 1000;
|
|
19
|
+
export declare const ZIP_CHUNK_SIZE: number;
|
|
20
|
+
export declare const ZIP_ENTRIES_TIMEOUT = 30000;
|
|
21
|
+
export declare const SAFE_FILE_TYPES: readonly ["text", "json", "csv", "tsv", "markdown", "html", "xml", "jsonl", "image", "pdf", "code"];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
interface ZipFile {
|
|
2
|
+
name: string;
|
|
3
|
+
size: number;
|
|
4
|
+
isDirectory: boolean;
|
|
5
|
+
}
|
|
6
|
+
interface ZipFileContent {
|
|
7
|
+
name: string;
|
|
8
|
+
blobUrl: string;
|
|
9
|
+
type: string;
|
|
10
|
+
}
|
|
11
|
+
interface UseZipViewerResult {
|
|
12
|
+
zipFiles: ZipFile[];
|
|
13
|
+
zipLoading: boolean;
|
|
14
|
+
zipError: string | null;
|
|
15
|
+
selectedZipFile: string | null;
|
|
16
|
+
zipFileContent: ZipFileContent | null;
|
|
17
|
+
handleFileClick: (fileName: string) => Promise<void>;
|
|
18
|
+
setSelectedZipFile: (fileName: string | null) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare const useZipViewer: (url: string) => UseZipViewerResult;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CSSProperties, FC } from 'react';
|
|
2
|
+
export interface DocumentViewerProps {
|
|
3
|
+
url: string;
|
|
4
|
+
fileName?: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: CSSProperties;
|
|
7
|
+
showToolbar?: boolean;
|
|
8
|
+
page?: number;
|
|
9
|
+
}
|
|
10
|
+
declare const DocumentViewer: FC<DocumentViewerProps>;
|
|
11
|
+
export default DocumentViewer;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DocumentViewer 工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 格式化文件大小
|
|
6
|
+
*/
|
|
7
|
+
export declare const formatFileSize: (bytes: number) => string;
|
|
8
|
+
/**
|
|
9
|
+
* 检查服务器是否支持 HTTP Range 请求
|
|
10
|
+
*/
|
|
11
|
+
export declare const checkRangeSupport: (url: string) => Promise<{
|
|
12
|
+
supportsRange: boolean;
|
|
13
|
+
fileSize: number;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* 获取文件大小
|
|
17
|
+
*/
|
|
18
|
+
export declare const getFileSize: (url: string) => Promise<number>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取文件扩展名
|
|
3
|
+
* @param fileName 文件名
|
|
4
|
+
* @returns 文件扩展名(小写,不含点号)
|
|
5
|
+
*/
|
|
6
|
+
export declare const getFileExtension: (fileName: string) => string | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* 文件类型枚举
|
|
9
|
+
*/
|
|
10
|
+
export type FileType = 'text' | 'json' | 'csv' | 'tsv' | 'markdown' | 'image' | 'video' | 'audio' | 'pdf' | 'office' | 'code' | 'html' | 'xml' | 'jsonl' | 'zip' | 'unknown';
|
|
11
|
+
/**
|
|
12
|
+
* 根据文件扩展名判断文件类型
|
|
13
|
+
* @param extension 文件扩展名(小写,不含点号)
|
|
14
|
+
* @returns 文件类型
|
|
15
|
+
*/
|
|
16
|
+
export declare const getFileType: (extension: string | undefined) => FileType;
|