@glodon-aiot/react-components 3.11.0-snapshot.1765331441 → 3.11.0-snapshot.1765331448
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/es/components/DocumentViewer/components/ErrorAlert.mjs +11 -10
- package/dist/es/components/DocumentViewer/components/FileRenderers.mjs +113 -103
- package/dist/es/components/DocumentViewer/components/MediaRenderers.mjs +7 -2
- package/dist/es/components/DocumentViewer/components/ZipRenderer.mjs +30 -23
- package/dist/es/components/DocumentViewer/hooks/useZipViewer.mjs +62 -60
- package/dist/es/components/DocumentViewer/index.mjs +274 -160
- package/dist/es/index.mjs +1 -1
- package/dist/es/utils/file.mjs +6 -6
- package/dist/lib/index.js +10 -10
- package/dist/src/components/DocumentViewer/index.d.ts +1 -0
- package/package.json +1 -1
package/dist/lib/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
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}.document-viewer{width:100%;height:100%;min-height:200px;display:flex;flex-direction:column;overflow:hidden;position:relative}.document-viewer-loading{display:flex;justify-content:center;align-items:center;min-height:200px;flex:1}.document-viewer-text,.document-viewer-json,.document-viewer-xml{padding:16px;background:#f5f5f5;border-radius:4px;overflow:auto;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;flex:1;min-height:0}.document-viewer-json{background:#f9f9f9}.document-viewer-xml{background:#fff8e1}.document-viewer-jsonl{padding:16px;overflow:auto;flex:1;min-height:0}.document-viewer-jsonl-item{margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:4px;border-left:3px solid #1890ff}.document-viewer-jsonl-item:last-child{margin-bottom:0}.document-viewer-jsonl-item pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.document-viewer-code{border-radius:4px;overflow:auto;max-height:100%;height:100%;display:flex;flex-direction:column}.document-viewer-code pre{margin:0!important;padding:16px!important;background:#f5f5f5!important;overflow:visible}.document-viewer-code>div{overflow:auto;max-height:100%}.document-viewer-image{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-image .ant-image{max-width:100%;max-height:100%}.document-viewer-video{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-video video{max-width:100%;max-height:100%}.document-viewer-audio{padding:16px;display:flex;justify-content:center;align-items:center;min-height:100px;overflow:hidden;flex:1;min-height:0}.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-zip{width:100%;height:100%;min-height:0;position:relative;flex:1;display:flex;flex-direction:column}.document-viewer-zip{display:flex;flex-direction:column;padding:16px;background:#fff;overflow:hidden}.document-viewer-zip .ant-table{font-size:12px}.document-viewer-zip .ant-table .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.document-viewer-zip .ant-table .ant-table-tbody>tr.ant-table-row-selected>td{background-color:#e6f7ff}.document-viewer-iframe{width:100%;height:100%;min-height:0;border:none;border-radius:4px;flex:1}.document-viewer-fallback{margin-top:16px}@media (max-width: 768px){.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-iframe{min-height:0}}.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 tn=Object.defineProperty,nn=Object.defineProperties;var Mn=Object.getOwnPropertyDescriptors;var Ve=Object.getOwnPropertySymbols;var mt=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable;var Lt=(t,n,M)=>n in t?tn(t,n,{enumerable:!0,configurable:!0,writable:!0,value:M}):t[n]=M,p=(t,n)=>{for(var M in n||(n={}))mt.call(n,M)&&Lt(t,M,n[M]);if(Ve)for(var M of Ve(n))ft.call(n,M)&&Lt(t,M,n[M]);return t},Me=(t,n)=>nn(t,Mn(n));var we=(t,n)=>{var M={};for(var s in t)mt.call(t,s)&&n.indexOf(s)<0&&(M[s]=t[s]);if(t!=null&&Ve)for(var s of Ve(t))n.indexOf(s)<0&&ft.call(t,s)&&(M[s]=t[s]);return M};var Le=(t,n,M)=>new Promise((s,r)=>{var i=c=>{try{l(M.next(c))}catch(z){r(z)}},a=c=>{try{l(M.throw(c))}catch(z){r(z)}},l=c=>c.done?s(c.value):Promise.resolve(c.value).then(i,a);l((M=M.apply(t,n)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),sn=require("react-markdown"),on=require("remark-gfm"),rn=require("rehype-raw"),cn=require("rehype-external-links"),an=require("remark-math"),ln=require("rehype-katex");require("katex/dist/katex.min.css");const B=require("antd"),zn=require("antd-mobile"),jn=require("react-device-detect"),vt=require("react-syntax-highlighter"),Ce=require("@ant-design/icons"),ce=require("@zip.js/zip.js"),bt=require("antd/es/tooltip"),Nn=require("react-moveable"),un=require("deep-object-diff"),gn=require("lodash/debounce"),_e=require("antd/es/button"),dn=require("antd/es/popconfirm"),yn=require("use-immer"),kt=require("ahooks"),Dn=require("@xstate/react"),Xe=require("lodash/size"),$e=require("xstate"),In=require("lodash/first"),ge=require("@xstate/immer");const xn=t=>{const l=t,{primary:n=!1,size:M="medium",backgroundColor:s,label:r}=l,i=we(l,["primary","size","backgroundColor","label"]),a=n?"storybook-button--primary":"storybook-button--secondary";return e.jsx("button",Me(p({type:"button",className:["storybook-button",`storybook-button--${M}`,a].join(" "),style:{backgroundColor:s}},i),{children:r}))};const Tn=t=>e.jsx("video",p({style:{maxWidth:"100%",width:560,height:315}},t)),qe=Tn;function An(t){const n=t.split(/(```[\s\S]*?```|`[^`]*?`|<code>[\s\S]*?<\/code>)/);let M="";for(let s=0;s<n.length;s++)if(s%2===0){let r=n[s].replaceAll(/\\\[([\s\S]*?)\\\]/g,(i,a)=>`$$${a}$$`).replaceAll(/\\\(([\s\S]*?)\\\)/g,(i,a)=>`$${a}$`);M+=r}else M+=n[s];return M}function wn(t){var a;const n=(()=>{try{return new URL(t)}catch(l){return null}})();if(!n)return null;const s=((a=n.pathname.split(".").pop())==null?void 0:a.toLowerCase())||"",r=["jpg","jpeg","gif","png"],i=["mp4","wmv","avi","mov"];return r.includes(s)?"image":i.includes(s)?"video":null}const Ln=t=>{const[n,M]=o.useState(!1),[s,r]=o.useState();return o.useEffect(()=>{t.src&&r(wn(t.src))},[t.src]),s=="video"?e.jsx(qe,{src:t.src,controls:!0}):jn.isMobile?e.jsxs(e.Fragment,{children:[e.jsx("img",p({style:{maxWidth:"100%"},src:t==null?void 0:t.src,onClick:()=>{M(!0)}},t)),e.jsx(zn.ImageViewer,{image:(t==null?void 0:t.src)||"",visible:n,onClose:()=>{M(!1)}})]}):e.jsx(B.Image,Me(p({style:{maxWidth:"100%"},preview:{getContainer:()=>document.body}},t),{onClick:i=>{var a,l,c;(c=t.onClick)==null||c.call(t,Me(p({},i),{target:(l=(a=i.target)==null?void 0:a.offsetParent)==null?void 0:l.children[0]}))},onError:()=>{console.log(t),console.warn("图片加载失败")}}))},Qt=Ln,q=Ce.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}),mn=M=>Le(exports,[M],function*({target:t,value:n}){try{let s="";if(!navigator.clipboard)return console.warn("Browser don't have support for native clipboard."),!1;if(t){const r=document.querySelector(t);if(!r||!r.textContent)return console.warn("Element not found"),!1;n=r.textContent}return n&&(s=n),yield navigator.clipboard.writeText(s),!0}catch(s){return!1}});const Ut=({text:t})=>{const[n,M]=o.useState();return o.useEffect(()=>{n&&setTimeout(()=>M(void 0),2e3)},[n]),n?e.jsx("div",{className:"copy-tip",children:n==="success"?e.jsx(Ce.CheckOutlined,{style:{color:"rgba(48, 191, 19, 1)"}}):e.jsx(Ce.CloseOutlined,{style:{color:"#dc4446"}})}):e.jsx(B.Tooltip,{title:"复制",children:e.jsx("div",{className:"copy-btn",onClick:()=>{mn({value:t}).then(s=>{M(s?"success":"failed")})},children:e.jsx(q,{type:"icon-fuzhi"})})})},fn=i=>{var a=i,{node:t,inline:n,className:M,children:s}=a,r=we(a,["node","inline","className","children"]);const l=/language-(\w+)/.exec(M||""),c=l?l[1]:null;return!n&&c?e.jsxs("div",{className:"markdown-code",children:[e.jsxs("div",{className:"markdown-code-title",children:[e.jsx("span",{className:"markdown-code-title-text",children:c}),e.jsx(B.Space,{className:"markdown-code-title-action",children:e.jsx(Ut,{text:String(s)})})]}),e.jsx(vt.Prism,Me(p({className:"markdown-code-context",language:c},r),{wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:String(s).replace(/\n$/,"")}))]}):e.jsx("code",Me(p({className:M},r),{children:s}))},Bt=fn,hn=t=>{var r,i;const s=t,{node:n}=s,M=we(s,["node"]);if(n.tagName==="a"&&((r=n.children)==null?void 0:r.length)>0){const a=((i=n.children[0])==null?void 0:i.value)||"";let l=/(^https?:\/\/|^www\.)(?:www\.)?[\w\-]+(\.[\w\-]+)+(\/[\w\- .\/?%&=]*)?/g,c=a.match(l),z=a.replace(l,"").trim();if(!(c!=null&&c.length))return e.jsx("a",p({},M));const N=c[0];return e.jsxs(e.Fragment,{children:[e.jsx("a",Me(p({href:/^www\./.test(N)?"//"+N:N,onClick:()=>window.open(t.href,t.target||"_blank")},M),{children:N})),z]})}return e.jsx("a",p({},M))},Rt=hn,Pt=i=>{var a=i,{showLatex:t=!0,components:n={},componentProps:M,children:s}=a,r=we(a,["showLatex","components","componentProps","children"]);const l=o.useRef(null),c=p({img(z){return e.jsx(Qt,p(p({},z),M==null?void 0:M.img))},code(z){return e.jsx(Bt,p(p({},z),M==null?void 0:M.code))},video(z){return e.jsx(qe,p(p({},z),M==null?void 0:M.video))},a(z){return e.jsx(Rt,p(p({},z),M==null?void 0:M.a))}},n);return e.jsx("div",{ref:l,children:e.jsx(sn,Me(p({className:"markdown",rehypePlugins:[ln,rn,[cn,{target:"_blank"}]],remarkPlugins:[an,[on,{singleTilde:!1}]]},r),{children:t?An(s):s,components:c}))})},Re=t=>{var M;if(!t)return;const n=t.split(".");if(!(n.length<2))return(M=n.pop())==null?void 0:M.toLowerCase()},Wt=t=>{if(!t)return"unknown";const n=t.toLowerCase();return["svg","png","gif","jpg","jpeg","tiff","tif","bmp"].includes(n)?"image":n==="mp4"?"video":n==="mp3"?"audio":n==="pdf"?"pdf":n==="markdown"||n==="md"?"markdown":n==="json"?"json":n==="jsonl"||n==="josnl"?"jsonl":n==="csv"?"csv":n==="tsv"?"tsv":n==="html"||n==="htm"?"html":n==="xml"?"xml":["doc","docx","ppt","pptx","xls","xlsx","wps","odt","rtf","ods","pps","ppsx","odp","key"].includes(n)?"office":["js","jsx","ts","tsx","py","java","cpp","c","cc","cxx","h","hpp","hxx","css","less","scss","sass","vue","go","rs","rb","php","swift","kt","scala","sh","bash","zsh","fish","ps1","bat","cmd","yml","yaml","toml","ini","conf","config","json","xml","sql","r","m","mm","pl","pm","lua","dart","elm","clj","cljs","ex","exs","erl","hrl","hs","ml","mli","fs","fsx","vb","cs","d","nim","zig","v","odin"].includes(n)?"code":n==="txt"?"text":n==="zip"?"zip":n==="tex"||n==="latex"?"text":"unknown"},Fe=5*1024*1024,Yn=2*1024*1024,En=2*1024*1024,Cn=5*1024*1024,Sn=5*1024*1024,pn=2*1024*1024,On=2*1024*1024,vn=2*1024*1024,bn=2*1024*1024,ht=100*1024*1024,kn=100*1024*1024,Ye=1e4,Ee=1e4,Je=5e3,de=1e3,Qn=1024*1024*5,Un=3e4,Bn=["text","json","csv","tsv","markdown","html","xml","jsonl","image","pdf","code"],Rn=t=>{const[n,M]=o.useState(null),[s,r]=o.useState(!0),[i,a]=o.useState(null),l=o.useRef(null);return o.useEffect(()=>{if(!t){a("文件URL不能为空"),r(!1);return}return l.current&&(URL.revokeObjectURL(l.current),l.current=null,M(null)),r(!0),a(null),fetch(t).then(c=>{if(!c.ok)throw new Error(`HTTP error! status: ${c.status}`);return c.blob()}).then(c=>{if(c.type&&c.type!=="application/pdf"&&!t.toLowerCase().endsWith(".pdf"))throw new Error("文件不是有效的 PDF 格式");const z=URL.createObjectURL(c);l.current=z,M(z),r(!1)}).catch(c=>{a(c.message||"加载 PDF 失败"),r(!1)}),()=>{l.current&&(URL.revokeObjectURL(l.current),l.current=null)}},[t]),{pdfBlobUrl:n,pdfLoading:s,pdfError:i}},Pn=t=>{if(t===0)return"0 B";const n=1024,M=["B","KB","MB","GB"],s=Math.floor(Math.log(t)/Math.log(n));return Math.round(t/Math.pow(n,s)*100)/100+" "+M[s]},Wn=t=>Le(exports,null,function*(){let n=!1,M=0;try{const s=yield fetch(t,{method:"HEAD",headers:{Range:"bytes=0-0"}}),r=s.headers.get("Accept-Ranges"),i=s.headers.get("Content-Range"),a=s.headers.get("Content-Length");if(i){const l=i.match(/bytes \d+-\d+\/(\d+)/);l&&(M=parseInt(l[1],10))}else a&&(M=parseInt(a,10));return n=s.status===206||r==="bytes"||i!==null&&i.startsWith("bytes"),{supportsRange:n,fileSize:M}}catch(s){return console.warn("Range 支持检测失败:",s),{supportsRange:!1,fileSize:0}}}),Gn=t=>Le(exports,null,function*(){try{const M=(yield fetch(t,{method:"HEAD"})).headers.get("Content-Length");return M?parseInt(M,10):0}catch(n){return console.warn("无法获取文件大小:",n),0}}),Zn=t=>{const[n,M]=o.useState([]),[s,r]=o.useState(!0),[i,a]=o.useState(null),[l,c]=o.useState(null),[z,N]=o.useState(null);o.useEffect(()=>{if(!t){a("文件URL不能为空"),r(!1);return}r(!0),a(null),M([]),c(null),z!=null&&z.blobUrl&&(URL.revokeObjectURL(z.blobUrl),N(null));let D=null;Le(exports,null,function*(){try{ce.configure({chunkSize:Qn,useWebWorkers:!1});const{supportsRange:d,fileSize:j}=yield Wn(t);if(d){const x=new ce.HttpRangeReader(t);D=new ce.ZipReader(x);const Y=(yield Promise.race([D.getEntries(),new Promise((w,h)=>setTimeout(()=>h(new Error("读取 ZIP 目录结构超时")),Un))])).filter(w=>!w.directory).map(w=>({name:w.filename,size:w.uncompressedSize||0,isDirectory:!1}));Y.sort((w,h)=>w.name.localeCompare(h.name)),Y.length>de?(a(`ZIP 文件包含 ${Y.length} 个文件,仅显示前 ${de} 个`),M(Y.slice(0,de))):M(Y)}else{if(j>ht)throw new Error(`服务器不支持 HTTP Range 请求,且文件过大(${Math.round(j/1024/1024)}MB),无法预览。请下载后查看。`);const x=yield fetch(t);if(!x.ok)throw new Error(`HTTP error! status: ${x.status}`);const y=yield x.blob(),Y=new ce.BlobReader(y);D=new ce.ZipReader(Y);const h=(yield D.getEntries()).filter(E=>!E.directory).map(E=>({name:E.filename,size:E.uncompressedSize||0,isDirectory:!1}));h.sort((E,C)=>E.name.localeCompare(C.name)),h.length>de?(a(`ZIP 文件包含 ${h.length} 个文件,仅显示前 ${de} 个`),M(h.slice(0,de))):M(h)}D&&(yield D.close()),r(!1)}catch(d){if(D)try{yield D.close()}catch(x){}const j=d.message||d.toString()||"加载 ZIP 文件失败";if(j.includes("Range")||j.includes("range")||j.includes("HTTP Range not supported")||j.includes("超时"))try{const x=yield Gn(t);if(x>ht)throw new Error(`文件过大(${Math.round(x/1024/1024)}MB),无法通过 Range 请求加载,且文件过大无法下载整个文件预览。请下载后查看。`);const y=yield fetch(t);if(!y.ok)throw new Error(`HTTP error! status: ${y.status}`);const Y=yield y.blob(),w=new ce.BlobReader(Y);D=new ce.ZipReader(w);const E=(yield D.getEntries()).filter(C=>!C.directory).map(C=>({name:C.filename,size:C.uncompressedSize||0,isDirectory:!1}));E.sort((C,P)=>C.name.localeCompare(P.name)),E.length>de?(a(`ZIP 文件包含 ${E.length} 个文件,仅显示前 ${de} 个`),M(E.slice(0,de))):M(E),D&&(yield D.close()),r(!1);return}catch(x){const y=x.message||x.toString();a(`ZIP 文件加载失败: ${j}。Fallback 方案也失败: ${y}`)}else a(j);r(!1)}})},[t]);const g=o.useCallback(D=>Le(exports,null,function*(){if(l===D&&z){c(null),z.blobUrl&&URL.revokeObjectURL(z.blobUrl),N(null);return}c(D);try{let d=null,j;try{const E=new ce.HttpRangeReader(t);d=new ce.ZipReader(E),j=(yield d.getEntries()).find(P=>P.filename===D)}catch(E){const C=yield fetch(t);if(!C.ok)throw new Error(`HTTP error! status: ${C.status}`);const P=yield C.blob(),I=new ce.BlobReader(P);d=new ce.ZipReader(I),j=(yield d.getEntries()).find(T=>T.filename===D)}if(!j)throw new Error("文件不存在");if(j.directory)throw new Error("无法预览目录");if((j.uncompressedSize||0)>kn)throw new Error("文件过大(超过 100MB),无法预览");const y=yield j.getData(new ce.BlobWriter),Y=URL.createObjectURL(y),w=Re(D),h=Wt(w);if(!Bn.includes(h))throw new Error(`不支持预览 ${w||"未知"} 格式的文件`);N({name:D,blobUrl:Y,type:h}),d&&(yield d.close())}catch(d){const j=d.message||d.toString()||"预览文件失败";a(j)}}),[t,l,z]);return o.useEffect(()=>()=>{z!=null&&z.blobUrl&&URL.revokeObjectURL(z.blobUrl)},[z]),{zipFiles:n,zipLoading:s,zipError:i,selectedZipFile:l,zipFileContent:z,handleFileClick:g,setSelectedZipFile:c}},H=({url:t,fileName:n})=>e.jsx(B.Button,{type:"link",icon:e.jsx(Ce.DownloadOutlined,{}),href:t,download:n,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}),Gt=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;if((n||new Blob([t.content]).size)>Yn){const i=t.content.split(`
|
|
3
|
-
`),
|
|
4
|
-
`);return
|
|
5
|
-
`).filter(g=>g.trim());if(
|
|
6
|
-
`).filter(g=>g.trim());if(
|
|
7
|
-
`).filter(
|
|
8
|
-
<`).replace(/^\s+/gm,"");return
|
|
9
|
-
`),
|
|
10
|
-
`);return e.jsxs("div",{className:"document-viewer-code",children:[c&&e.jsx(B.Alert,{message:"文件过大",description:`文件包含 ${l.length} 行,仅显示前 ${Ye} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:e.jsx(H,{url:M,fileName:s})}),e.jsx("div",{style:{overflow:"auto",flex:1},children:e.jsx("pre",{className:"document-viewer-text",style:{fontSize:"12px"},children:N})})]})}return e.jsx("div",{className:"document-viewer-code",children:e.jsx("div",{style:{overflow:"auto",flex:1},children:e.jsx(vt.Prism,{language:i,wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:t.content})})})},qn=({url:t,fileName:n})=>e.jsx("div",{className:"document-viewer-image",children:e.jsx(B.Image,{src:t,alt:n||"Image"})}),eM=({url:t})=>e.jsx("div",{className:"document-viewer-video",children:e.jsx("video",{src:t,controls:!0,style:{maxWidth:"100%"},children:"您的浏览器不支持视频播放"})}),tM=({url:t})=>e.jsx("div",{className:"document-viewer-audio",children:e.jsx("audio",{src:t,controls:!0,style:{width:"100%"},children:"您的浏览器不支持音频播放"})}),nM=({pdfBlobUrl:t,pdfLoading:n,pdfError:M,url:s,fileName:r})=>n?e.jsx("div",{className:"document-viewer-loading",children:e.jsx(B.Spin,{size:"large",tip:"加载 PDF 中..."})}):M?e.jsx(B.Alert,{message:"PDF 加载失败",description:M,type:"error",showIcon:!0,action:e.jsx(H,{url:s,fileName:r})}):t?e.jsx("div",{className:"document-viewer-pdf",children:e.jsx("iframe",{src:t,className:"document-viewer-iframe",title:"PDF Preview"})}):e.jsx(B.Alert,{message:"PDF 加载失败",description:"无法创建 PDF 预览",type:"error",showIcon:!0,action:e.jsx(H,{url:s,fileName:r})}),MM=({zipFiles:t,zipLoading:n,zipError:M,selectedZipFile:s,zipFileContent:r,onFileClick:i,url:a})=>n?e.jsx("div",{className:"document-viewer-loading",children:e.jsx(B.Spin,{size:"large",tip:"加载 ZIP 文件..."})}):M&&t.length===0?e.jsx(B.Alert,{message:"ZIP 加载失败",description:M,type:"error",showIcon:!0,action:e.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:"下载文件"})}):e.jsxs("div",{className:"document-viewer-zip",children:[M&&t.length>0&&e.jsx(B.Alert,{message:"提示",description:M,type:"warning",showIcon:!0,style:{marginBottom:16}}),e.jsxs("div",{style:{display:"flex",height:"100%",gap:"16px"},children:[e.jsxs("div",{style:{width:"300px",borderRight:"1px solid #e8e8e8",overflow:"auto",display:"flex",flexDirection:"column"},children:[e.jsxs("div",{style:{padding:"12px",fontWeight:"bold",borderBottom:"1px solid #e8e8e8",flexShrink:0},children:["文件列表 (",t.length,")"]}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:e.jsx(B.Table,{dataSource:t,size:"small",pagination:!1,scroll:{y:"100%"},onRow:l=>({onClick:()=>i(l.name),style:{cursor:"pointer",backgroundColor:s===l.name?"#e6f7ff":"transparent"}}),columns:[{title:"文件名",dataIndex:"name",key:"name",ellipsis:!0,render:l=>e.jsx("span",{title:l,children:l.split("/").pop()})},{title:"大小",dataIndex:"size",key:"size",width:80,render:l=>Pn(l)}]})})]}),e.jsx("div",{style:{flex:1,overflow:"auto",display:"flex",flexDirection:"column"},children:s&&r?e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[e.jsx("div",{style:{padding:"12px",borderBottom:"1px solid #e8e8e8",fontWeight:"bold",flexShrink:0},children:r.name}),e.jsx("div",{style:{flex:1,overflow:"auto",padding:"16px"},children:e.jsx(Zt,{url:r.blobUrl,fileName:r.name})})]}):e.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"#999"},children:"请从左侧列表中选择文件进行预览"})})]})]}),sM=({message:t,description:n,action:M,url:s,fileName:r})=>{const i=s?e.jsx(B.Button,{type:"link",icon:e.jsx(Ce.DownloadOutlined,{}),href:s,download:r,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}):null;return e.jsx(B.Alert,{message:t,description:n,type:"error",showIcon:!0,action:M||i})};const oM=t=>{const{url:n,fileName:M,className:s,style:r}=t,i=o.useMemo(()=>{const b=Re(n),T=M?Re(M):void 0;return Wt(b||T)},[n,M]),{pdfBlobUrl:a,pdfLoading:l,pdfError:c}=Rn(i==="pdf"?n:""),{zipFiles:z,zipLoading:N,zipError:g,selectedZipFile:D,zipFileContent:d,handleFileClick:j}=Zn(i==="zip"?n:""),[x,y]=o.useState(!0),[Y,w]=o.useState(null),[h,E]=o.useState(null),[C,P]=o.useState(0);o.useEffect(()=>{if(i==="pdf"||i==="zip"){y(!1);return}if(!n){w("文件URL不能为空"),y(!1);return}if(["image","video","audio","office","unknown"].includes(i)){y(!1);return}y(!0),w(null),Le(exports,null,function*(){try{if(n.startsWith("blob:")||n.startsWith("data:")){const L=yield fetch(n);if(!L.ok)throw new Error(`HTTP error! status: ${L.status}`);const k=yield L.blob(),W=k.size;if(P(W),W>Fe){w(`文件过大(${Math.round(W/1024/1024)}MB),无法预览。请下载后查看。`),y(!1);return}const G=yield k.text();E({content:G}),y(!1);return}const m=(yield fetch(n,{method:"HEAD"})).headers.get("Content-Length"),S=m?parseInt(m,10):0;if(P(S),S>Fe){w(`文件过大(${Math.round(S/1024/1024)}MB),无法预览。请下载后查看。`),y(!1);return}const $=yield fetch(n);if(!$.ok)throw new Error(`HTTP error! status: ${$.status}`);const ee=yield $.text(),A=new Blob([ee]).size;if(A>Fe){w(`文件过大(${Math.round(A/1024/1024)}MB),无法预览。请下载后查看。`),y(!1);return}E({content:ee}),y(!1)}catch(b){w(b.message||"加载文件失败"),y(!1)}})},[n,i]);const I=()=>{if(x)return e.jsx("div",{className:"document-viewer-loading",children:e.jsx(B.Spin,{size:"large",tip:"加载中..."})});if(Y)return e.jsx(sM,{message:"加载失败",description:Y,url:n,fileName:M});switch(i){case"text":return e.jsx(Gt,{fileContent:h,fileSize:C,url:n,fileName:M});case"json":return e.jsx(Vn,{fileContent:h,fileSize:C,url:n,fileName:M});case"csv":return e.jsx($n,{fileContent:h,fileSize:C,url:n,fileName:M});case"tsv":return e.jsx(Hn,{fileContent:h,fileSize:C,url:n,fileName:M});case"jsonl":return e.jsx(Fn,{fileContent:h,fileSize:C,url:n,fileName:M});case"markdown":return e.jsx(Jn,{fileContent:h,fileSize:C,url:n,fileName:M});case"html":return e.jsx(_n,{fileContent:h,fileSize:C,url:n,fileName:M});case"xml":return e.jsx(Xn,{fileContent:h,fileSize:C,url:n,fileName:M});case"code":return e.jsx(Kn,{fileContent:h,fileSize:C,url:n,fileName:M});case"image":return e.jsx(qn,{url:n,fileName:M});case"video":return e.jsx(eM,{url:n,fileName:M});case"audio":return e.jsx(tM,{url:n,fileName:M});case"pdf":return e.jsx(nM,{pdfBlobUrl:a,pdfLoading:l,pdfError:c,url:n,fileName:M});case"office":return e.jsx(iM,{url:n});case"zip":return e.jsx(MM,{zipFiles:z,zipLoading:N,zipError:g,selectedZipFile:D,zipFileContent:d,onFileClick:j,url:n});case"unknown":default:return e.jsx(rM,{url:n})}};return e.jsx("div",{className:`document-viewer ${s||""}`,style:r,children:I()})},iM=({url:t})=>{const n=`https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(t)}`;return e.jsxs("div",{className:"document-viewer-office",children:[e.jsx("iframe",{src:n,className:"document-viewer-iframe",title:"Office Document Preview"}),e.jsx("div",{className:"document-viewer-fallback",children:e.jsx(B.Alert,{message:"预览可能不可用",description:e.jsx("a",{href:t,target:"_blank",rel:"noopener noreferrer",children:"点击下载文件"}),type:"info",showIcon:!0})})]})},rM=({url:t})=>e.jsx("div",{className:"document-viewer-unknown",children:e.jsx("iframe",{src:t,className:"document-viewer-iframe",title:"File Preview"})}),Zt=oM;const ze=t=>{var n;return e.jsx("button",Me(p({},t),{className:`g-icon-btn disabled ${(n=t==null?void 0:t.className)!=null?n:""}`}))},cM=t=>{var T,m;const n=o.useRef(null),{className:M,headerClassName:s,style:r,visible:i,mode:a="normal",header:l,icons:c={collapseButton:e.jsx(q,{type:"icon-yincang"}),expandButton:e.jsx(q,{type:"icon-yincang"}),fullscreenButton:e.jsx(q,{type:"icon-suofang"}),exitFullscreenButton:e.jsx(q,{type:"icon-suofang"})},extraButtons:z=[],onNormalize:N,onMinimize:g,onMaximize:D}=t,[d,j]=o.useState(a==="max"),[x,y]=o.useState(a==="min"),Y=o.useRef(null),[w,h]=o.useState(a);o.useEffect(()=>{j(a==="max"),y(a==="min"),h(a)},[a]);const E=()=>{j(!d),h(d?"normal":"max"),d?N&&N():D&&D()},C=()=>{y(!x),h(x?"normal":"min"),x?N&&N():g&&g()};o.useEffect(()=>{Y.current&&d&&(Y.current.style.transform="none")},[d]);const P=(m=t.fullScreenContainer)!=null?m:(T=n.current)==null?void 0:T.parentElement,I=P==null?void 0:P.getBoundingClientRect(),b={position:"fixed",top:I==null?void 0:I.y,left:I==null?void 0:I.x,width:x?0:I==null?void 0:I.width,height:I==null?void 0:I.height};return e.jsxs("div",{className:"g-expandable-pannel-wrap",style:p({visibility:i!==!1?"visible":"hidden",position:d&&!x?"absolute":"unset"},d?b:null),ref:n,children:[!x&&e.jsxs("div",{className:`g-expandable-pannel ${d?"full":""} `,style:p({},r),children:[l!=null?l:e.jsx("div",{className:`g-expandable-pannel-header ${s!=null?s:""}`,children:e.jsx(ze,{onClick:E,children:d?c.exitFullscreenButton:c.fullscreenButton})}),e.jsx("div",{className:"g-expandable-pannel-body",children:t.children})]}),e.jsx("div",{className:`g-expandable-pannel-expand-bar ${x?"collapsed":"expaned"} ${s!=null?s:""}`,children:e.jsx(ze,{onClick:C,children:x?c.expandButton:c.collapseButton})})]})};const aM={stroke:"rgba(255, 77, 79, 0.25)",strokeWidth:1},Vt=t=>{const{style:n,passes:M,scale:s,activePassId:r,passStyle:i,activePassStyle:a}=t;return e.jsx("svg",{className:"pass-map",style:n,children:M.map((l,c)=>{var N;const z=l.id===r?a:aM;return e.jsx("g",{children:e.jsx("polygon",{points:(N=l.points)==null?void 0:N.map(g=>`${g.x*s} ${g.y*s}`).join(","),style:p(p(p({},i),l.passStyle),z)})},c)})})};const lM=t=>{var g,D,d,j;const N=t,{children:n,open:M,point:s,key:r,style:i}=N,a=we(N,["children","open","point","key","style"]),[l,c]=o.useState(M&&s.tooltipOpen!==void 0?s.tooltipOpen:void 0),z=o.useRef(null);return o.useEffect(()=>{var Y,w;if(!s.tooltipRender||!z.current)return;const x=s.tooltipRender(s);if(typeof x=="string"||typeof x=="number"){z.current.innerText=x.toString();return}const y=(Y=z.current)==null?void 0:Y.firstChild;y?y.replaceWith(x):(w=z.current)==null||w.appendChild(x),console.log("tooltip inner text",s.id),console.log(new Date().valueOf())},[s.tooltipRender,l]),o.useEffect(()=>{c(s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0)},[s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0]),console.log("render PointTooltip",s.id),console.log(new Date().valueOf()),e.jsx(bt,Me(p({},a),{autoAdjustOverflow:!1,placement:"top",open:s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0,onOpenChange:x=>{var w,h;if(s.tooltipOpen||c(x),console.log("tooltip inner text",s.id),console.log(new Date().valueOf()),!s.tooltipRender||!z.current)return;const y=s.tooltipRender(s);if(typeof y=="string"||typeof y=="number"){z.current.innerText=y.toString();return}const Y=(w=z.current)==null?void 0:w.firstChild;Y?Y.replaceWith(y):(h=z.current)==null||h.appendChild(y)},color:((g=s.tooltipStyle)==null?void 0:g.backgroundColor)||((D=s.tooltipStyle)==null?void 0:D.backgroundImage)||((j=(d=s.tooltipStyle)==null?void 0:d.background)==null?void 0:j.toString()),title:e.jsx("div",{ref:z},r),overlayInnerStyle:s.tooltipStyle,destroyTooltipOnHide:!0,style:p({zIndex:9},i),motion:{forceRender:!0},children:n}))},zM=lM,jM={attributes:!0,characterData:!0},NM=t=>{const n=o.useRef(null),{point:M,open:s,id:r,x:i,y:a,r:l,active:c=!1,hidden:z=!1,onPointClick:N,getTooltipContainer:g}=t,[D,d]=o.useState(t.style),[j,x]=o.useState(!0);o.useEffect(()=>{const w=un.diff(D,t.style);Object.keys(w).length&&d(t.style)},[t.style]);const y=o.useMemo(()=>e.jsx("circle",{id:`mark-${r}`,className:"point point-active",cx:i,cy:a,r:l,ref:n,style:D,onClick:()=>N&&N(M)}),[i,a,l,D,c]),Y=o.useMemo(()=>{const w=gn(()=>{x(!0),console.log("show tooltip",M.id),console.log(new Date().valueOf())},200);return new MutationObserver(()=>{console.log("circle is changed"),console.log("hide tooltip",M.id),console.log(new Date().valueOf()),x(!1),w()})},[]);return o.useEffect(()=>{if(!(!n.current||!M.tooltipRender))return Y.observe(n.current,jM),()=>{n.current&&Y.disconnect()}},[i,a,l]),z?e.jsx(e.Fragment,{}):M.tooltipRender&&j?e.jsx(zM,{open:s,point:M,getPopupContainer:g,children:y}):y},Yt=NM,$t=t=>{var Qe;const{width:n,height:M,points:s,scale:r,pointSize:i=6,direction:a,activePointId:l,style:c,lineStyle:z,pointStyle:N,directionStyle:g,marks:D,resizable:d,transform:j,keepRatio:x=!1,onPointClick:y,onTransform:Y,onPointsChange:w,onCancelResize:h,actions:E=!0,setIsSaved:C,isSaved:P=!1}=t,I=o.useRef(null),b=o.useRef(null),T=o.useRef(null),m=o.useRef(null),S=o.useRef(null),[$,ee]=o.useState(null),[A,L]=o.useState((j==null?void 0:j.scale)||[1,1]),[k,W]=o.useState((j==null?void 0:j.rotate)||0),[G,ye]=o.useState((j==null?void 0:j.translate)||[0,0,0,0]),[je,se]=o.useState([]),[Z,ae]=o.useState(),[ue,ie]=o.useState(),[re,J]=o.useState(d),[me,_]=o.useState([]),[te,Se]=o.useState(s),[fe,He]=o.useState(!0),[X,Ie]=o.useState(),[ne,Ne]=o.useState(),[pe,We]=o.useState(typeof E!="boolean"?E:E===!0?{}:null),xe=(i-i/4*.9)*2/r;o.useEffect(()=>{We(typeof E!="boolean"?E:E===!0?{}:null)},[E]);const Ge=(u,f)=>{if(!u.length)return;let R;return u.map(v=>{var oe;if(!R){R=v;return}const V=e.jsx("line",{x1:Number.isFinite(R.x)?R.x:0,y1:Number.isFinite(R.y)?R.y:0,x2:Number.isFinite(v.x)?v.x:0,y2:Number.isFinite(v.y)?v.y:0,style:Me(p(p({stroke:"#1F66E1BF"},z),R.lineStyle),{strokeWidth:Number((z==null?void 0:z.strokeWidth)||((oe=R.lineStyle)==null?void 0:oe.strokeWidth)||2)/f})},v.id);return R=v,V})},Oe=new ResizeObserver(()=>{I.current&&(b.current&&(b.current.style.transform="none",b.current.style.width="auto",b.current.style.height="100%"),b.current&&(b.current.style.width="100%",b.current.style.height="100%"))});o.useEffect(()=>{var u;Ne((u=T.current)==null?void 0:u.getBoundingClientRect())},[c==null?void 0:c.left,c==null?void 0:c.top,c==null?void 0:c.width,c==null?void 0:c.height,r]),o.useEffect(()=>{J(d)},[d]),o.useEffect(()=>{Se(s||[])},[s,me]),o.useEffect(()=>{var u;(!((u=T.current)!=null&&u.style.transform)||T.current.style.transform==="none")&&(L((j==null?void 0:j.scale)||[1,1]),W((j==null?void 0:j.rotate)||0),ye((j==null?void 0:j.translate)||[0,0,0,0]))},[(Qe=T.current)==null?void 0:Qe.style.transform]),o.useEffect(()=>{!T.current||re||(T.current.style.transform="none",L((j==null?void 0:j.scale)||[1,1]),W((j==null?void 0:j.rotate)||0),ye((j==null?void 0:j.translate)||[0,0,0,0]))},[re]),o.useEffect(()=>{if(I.current)return Oe.observe(I.current),()=>{I.current&&Oe.unobserve(I.current)}},[I.current]),o.useEffect(()=>{!$||!j||($.throttleDragRotate=j.rotate,$.throttleScale=j.scale,$.throttleDrag=j.translate)},[$,j]),o.useEffect(()=>{ae(te==null?void 0:te.find(f=>f.id===l));let u=te.map(f=>{var oe,Ue,Ae;const R=f.x,O=f.y,v=f.id===l,V=i*(v?1.2:1)/r;return e.jsx(Yt,{open:fe,id:f.id,point:f,getTooltipContainer:()=>S.current||document.body,x:R,y:O,r:N!=null&&N.r||(oe=f.pointStyle)!=null&&oe.r?Number((N==null?void 0:N.r)||((Ue=f.pointStyle)==null?void 0:Ue.r))/r:V/2,hidden:v,style:Me(p(p({stroke:"#1F66E1BF",fill:"#fff",cursor:y?"pointer":"unset"},N),f.pointStyle),{strokeWidth:Number(((Ae=f.pointStyle)==null?void 0:Ae.strokeWidth)||2)/r,r:void 0}),onPointClick:y},f.id)})||[];se(u)},[te,l,r,fe]),o.useEffect(()=>{var v,V,oe;if(!Z){ie(void 0);return}const u=Z.x,f=Z.y,R=Z.id===l,O=i*(R?1.2:1)/r;ie(e.jsxs("g",{children:[a!==void 0&&e.jsx("circle",{id:`mark-${Z.id}`,cx:u,cy:f,r:`${xe}`,strokeDasharray:xe*2*Math.PI,strokeDashoffset:xe*2*Math.PI/360*(360-60),style:p({transform:`rotate(${a+240}deg)`,transformOrigin:`${u}px ${f}px`,strokeWidth:xe*2,stroke:"#1F66E1BF",fill:"transparent",pointerEvents:"none"},g)}),e.jsx(Yt,{open:fe,point:Z,getTooltipContainer:()=>S.current||document.body,x:u,y:f,r:(v=Z.pointStyle)!=null&&v.r?Number((V=Z.pointStyle)==null?void 0:V.r)/r:O/2,style:Me(p(p({stroke:"#1F66E1BF",fill:"#fff"},N),Z.pointStyle),{strokeWidth:Number(((oe=Z.pointStyle)==null?void 0:oe.strokeWidth)||2)/r,r:void 0}),onPointClick:y},Z.id)]},Z.id))},[Z,a,r,fe]),o.useEffect(()=>{T.current&&setTimeout(()=>{var u,f;Ie((u=T.current)==null?void 0:u.getBBox()),Ne((f=T.current)==null?void 0:f.getBoundingClientRect())},100)},[j]),o.useEffect(()=>{var f,R;if(!T.current)return;Ie((f=T.current)==null?void 0:f.getBBox()),Ne((R=T.current)==null?void 0:R.getBoundingClientRect()),new ResizeObserver(()=>{var O,v;Ie((O=T.current)==null?void 0:O.getBBox()),Ne((v=T.current)==null?void 0:v.getBoundingClientRect())}).observe(T.current)},[T.current]),o.useEffect(()=>{P&&(le(),C&&C(!1))},[P]);const le=()=>{var O;const u=(O=m.current)==null?void 0:O.getBoundingClientRect();if(!u){w&&w(s),J(!1);return}const f=me.map(v=>{const V=v.getBoundingClientRect();return{id:v.id.split("-")[1],x:(V.x+V.width/2-u.x)/r,y:(V.y+V.height/2-u.y)/r}}),R=s.map(v=>{const V=f==null?void 0:f.find(oe=>oe.id.toString()===v.id.toString());return V?p(p({},v),V):v});Se(R),w&&w(R.length?R.map((v,V)=>({id:v.id,x:v.x,y:v.y,order:V})):s),J(!1)},Te=u=>u.map(f=>{const{render:R,renderData:O}=f,v=f.x*r,V=f.y*r;return e.jsx(bt,{className:"track-map-marker-tooltip",placement:"top",title:R(O,p({},f)),open:!!O,style:{zIndex:9999},children:e.jsx("circle",{id:`mark-${f.id}`,cx:v,cy:V,r:i/2,style:{stroke:"#1F66E100",strokeWidth:2,fill:"#fff0"},children:e.jsx("span",{children:O.label})})},f.id)}),ve=X?{x:X.x+X.width/2,y:X.y+X.height/2}:{x:0,y:0},be=te.reduce((u,f)=>[Math.min(u[0],f.x),Math.max(u[1],f.x)],[0,0]),ke=te.reduce((u,f)=>[Math.min(u[0],f.y),Math.max(u[1],f.y)],[0,0]);return e.jsx(B.ConfigProvider,{prefixCls:"g-rc",children:e.jsxs("div",{className:"track-map",style:{width:"100%",height:"100%"},ref:I,children:[e.jsx("svg",{style:c,ref:m,viewBox:`0 0 ${n} ${M}`,children:e.jsxs("g",{ref:T,x:be[0],y:ke[0],width:be[1]-be[0],height:ke[1]-ke[0],style:{transformOrigin:`${ve.x}px ${ve.y}px`,cursor:re?"url('./images/icon-move.svg') 16 16, move":"unset",transform:j&&j.scale?`${j.translate?` translate(${j.translate[0]}px, ${j.translate[1]}px)`:""} rotate(${j.rotate}rad)${j.scale?` scale(${j.scale[0]}, ${j.scale[1]})`:""}`:"none"},children:[X&&e.jsx("rect",{x:X.x,y:X.y,width:X.width,height:X.height,fill:"#ff000004"}),e.jsx("g",{className:"track-lines",children:Ge((te==null?void 0:te.filter(u=>u.order>-1))||[],r)}),e.jsxs("g",{className:"track-points",children:[je,ue]}),D&&e.jsx("g",{children:Te(D)})]})}),e.jsx("div",{className:"tooltip-container",ref:S,style:{position:"fixed",top:(ne==null?void 0:ne.y)||0,left:(ne==null?void 0:ne.x)||0,width:(ne==null?void 0:ne.width)||0,height:(ne==null?void 0:ne.height)||0}}),re&&T.current&&m.current&&e.jsx(Nn,{className:"path-moveable-control-box",ref:u=>{ee(u)},keepRatio:x,target:[T.current],draggable:!0,scalable:!0,rotatable:!0,padding:{left:10,right:10,top:10,bottom:10},onDrag:({target:u,beforeDelta:f,beforeDist:R,left:O,top:v,right:V,bottom:oe,delta:Ue,dist:Ae,transform:he,clientX:et,clientY:tt})=>{ye(Ae),u.style.transform=he},onDragStart:({inputEvent:u})=>{u.stopPropagation()},onDragEnd:()=>{var f;const u=(f=T.current)==null?void 0:f.getElementsByTagName("circle");_(u!=null&&u.length?[...u]:[]),Y&&Y({rotate:k,translate:G,scale:A},u!=null&&u.length?[...u]:[],m.current||void 0)},renderDirections:x?["nw","ne","sw","se"]:["n","w","e","s","nw","ne","sw","se"],onScale:({target:u,scale:f,transform:R})=>{var v;L(f),u.style.transform=R;const O=(v=T.current)==null?void 0:v.getElementsByTagName("circle");_(O!=null&&O.length?[...O]:[]),Y&&Y({rotate:k,translate:G,scale:f},O!=null&&O.length?[...O]:[],m.current||void 0)},onRotate:({target:u,dist:f,transform:R})=>{var v;W(f),u.style.transform=R;const O=(v=T.current)==null?void 0:v.getElementsByTagName("circle");_(O!=null&&O.length?[...O]:[]),Y&&Y({rotate:f,translate:G,scale:A},O!=null&&O.length?[...O]:[],m.current||void 0)},onRenderEnd:()=>{var f,R,O;const u=(f=T.current)==null?void 0:f.getElementsByTagName("circle");Y&&Y({rotate:k,translate:G,scale:A},u!=null&&u.length?[...u]:[],m.current||void 0),Ie((R=T.current)==null?void 0:R.getBBox()),Ne((O=T.current)==null?void 0:O.getBoundingClientRect())}})]})})},Et=t=>{const{name:n,type:M,style:s,className:r,children:i,onConfirm:a}=t,[l,c]=o.useState(null);return o.useEffect(()=>{if(!t.confirm){c(null);return}if(t.confirm===!0){c({text:`确认${n}吗?`});return}c(t.confirm)},[t.confirm]),l?e.jsx(dn,{rootClassName:"track-map-popconfirm",okText:"确定",cancelText:"取消",title:l.text,trigger:"click",onConfirm:a,children:e.jsx(_e,{className:r,type:M,style:p({},s),children:i||n})}):e.jsx(_e,{className:r,type:M,onClick:a,children:i||n})};let Ct;const uM=o.forwardRef((t,n)=>{var Mt,st,ot,it,rt,ct,at,lt,zt,jt,Nt,ut,gt,dt,yt,Dt,It,xt,Tt,At,wt;const{url:M,points:s,pointSize:r,direction:i,activePointId:a,lineStyle:l,pointStyle:c,directionStyle:z,onPointClick:N,passes:g,activePassId:D,passStyle:d,activePassStyle:j,marks:x,draggable:y=!1,offsetEdge:Y=[50,50,50,50],zoomable:w=!1,zoomStep:h=.02,zoomMax:E=2,zoomMin:C=0,onImageLoad:P,trackEditable:I,trackEditing:b,keepRatio:T,transform:m,onTrackEditingChange:S,onTransform:$,onPointsChange:ee,actions:A=!0}=t,L=o.useRef({}),k=o.useRef({}),[W,G]=o.useState(0),[ye,je]=o.useState(0),[se,Z]=o.useState(1),[ae,ue]=o.useState(0),[ie,re]=o.useState(0),[J,me]=o.useState(0),[_,te]=o.useState(0),[Se,fe]=o.useState(!1),[He,X]=o.useState(!1),[Ie,ne]=o.useState(),[Ne,pe]=o.useState({x:0,y:0}),[We,xe,Ge,Oe]=Y,[le,Te]=o.useState(b),[ve,be]=o.useState(1),[ke,Qe]=o.useState(!1),[u,f]=o.useState(typeof A!="boolean"?A:A===!0?{}:null);o.useEffect(()=>{be(Math.round(se*100)/100)},[se]),o.useEffect(()=>{Te(b)},[b]),o.useEffect(()=>{Ct=new ResizeObserver(R),Ct.observe(k.current);const Q=U=>(U.preventDefault(),!1);return k.current.addEventListener("wheel",Q),()=>{k.current.removeEventListener("wheel",Q)}},[]);const R=()=>{if(!k.current)return;const Q=k.current.clientWidth,U=k.current.clientHeight,F=L.current.naturalWidth,K=L.current.naturalHeight,De=Q/F,Ze=U/K,Be=De<Ze?De:Ze,Xt=(Q-F*Be)/2,Kt=(U-K*Be)/2,qt=F*Be,en=K*Be;G(Q),je(U),Z(Be),ue(Xt),re(Kt),me(qt),te(en),fe(!0),P&&P(L.current)},O=()=>{if(!w||se>=E)return;let Q=se*(1+h),U=h;Q>=E&&(Q=E,U=E/se-1),ue(ae-J*(U/2)),re(ie-_*(U/2)),me(J+J*U),te(_+_*U),Z(Q),he()},v=()=>{if(!w||se<=C)return;let Q=se*(1-h),U=h;Q<=C&&(Q=C,U=1-C/se),ue(ae-J*(-U/2)),re(ie-_*(-U/2)),me(J+J*-U),te(_+_*-U),Z(Q),he()};o.useImperativeHandle(n,()=>({zoomIn:O,zoomOut:v}));const V=Q=>(Q.nativeEvent.deltaY<0?O():v(),!1),oe=Q=>{X(!0);const{pageX:U,pageY:F}=Q;pe({x:U,y:F})},Ue=Q=>{if(!He)return!1;const{pageX:U,pageY:F}=Q,K=U-Ne.x,De=F-Ne.y;pe({x:U,y:F}),ue(ae+K),re(ie+De),he()},Ae=()=>{X(!1)};window.onmouseup=()=>{X(!1)};const he=()=>{ae<-J+Oe&&ue(-J+Oe),ie<-_+We&&re(-_+We),ae>W-xe&&ue(W-xe),ie>ye-Ge&&re(ye-Ge)},et=()=>{Te(!le),S&&S(!le)},tt=Q=>{const{touches:U}=Q;if(console.log("onTouchStart"),console.log(U),X(!0),U.length<2){const{clientX:F,clientY:K}=U[0];pe({x:F,y:K})}else ne(U)},Ft=Q=>{if(!He||!Q.touches)return!1;const{clientX:U,clientY:F}=Q.touches[0];if(Q.touches.length<2){const K=U-Ne.x,De=F-Ne.y;pe({x:U,y:F}),ue(ae+K),re(ie+De),he()}else{console.log("onTouchMove"),console.log(Q.touches);const K=Q.touches,De=nt(K[0],K[1]),Ze=nt(Ie[0],Ie[1]);De>Ze?O():v()}},nt=(Q,U)=>{const F=U.pageX-Q.pageX,K=U.pageY-Q.pageY;return Math.sqrt(F*F+K*K)};o.useEffect(()=>{f(typeof A!="boolean"?A:A===!0?{}:null)},[A]);const Jt=()=>{Te(!1),S&&S(!1)},_t=()=>{Qe(!0)};return e.jsxs("div",{className:"image-map",ref:k,onMouseDown:y?oe:void 0,onMouseMove:y?Ue:void 0,onMouseUp:y?Ae:void 0,onWheel:y?V:void 0,onTouchStart:y?tt:void 0,onTouchMove:y?Ft:void 0,onTouchEnd:y?Ae:void 0,children:[e.jsx("img",{className:"img",style:{position:"absolute",left:ae,top:ie,width:J,height:_},ref:L,onLoad:R,src:M,alt:""}),Se&&(g==null?void 0:g.length)&&e.jsx(Vt,{style:{position:"absolute",left:ae,top:ie,width:J,height:_},passes:g,scale:se,activePassId:D,passStyle:d,activePassStyle:j}),Se&&!!(s!=null&&s.length)&&e.jsx($t,{style:{position:"absolute",left:ae,top:ie,width:J,height:_,overflow:"visible"},width:L.current.naturalWidth,height:L.current.naturalHeight,transform:m,movable:le,resizable:le,points:s,scale:se,pointSize:r,direction:i,activePointId:a,lineStyle:l,pointStyle:c,directionStyle:z,keepRatio:T,marks:x,onPointClick:N,onTransform:$,onPointsChange:Q=>{ee&&ee(Q),Te(!1),S&&S(!1)},onCancelResize:()=>{Te(!1),S&&S(!1)},actions:A,setIsSaved:Qe,isSaved:ke}),I&&e.jsxs("div",{className:"image-map-toolbar",children:[e.jsx(Ht,{className:"zoom-controller",value:ve,min:C,max:E,step:h,showText:!0,onChange:Q=>{ve>Q?v():O()}}),I&&(le&&A?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsxs("div",{className:"editing-controller",children:[e.jsx(Et,{children:typeof A!="boolean"&&((Mt=A.cancelButton)==null?void 0:Mt.children)||void 0,name:typeof A!="boolean"&&((st=A.cancelButton)==null?void 0:st.text)||"退出编辑",className:`editing-controller${le?" active":""} ${typeof A!="boolean"&&((ot=A.cancelButton)==null?void 0:ot.className)||""}`,confirm:((it=u==null?void 0:u.cancelButton)==null?void 0:it.confirm)===!0?{text:"调整记录将不被保存"}:(rt=u==null?void 0:u.cancelButton)!=null&&rt.confirm?u.cancelButton.confirm:!1,style:typeof A!="boolean"&&((ct=A.cancelButton)==null?void 0:ct.style)||void 0,onConfirm:Jt}),e.jsx(Et,{type:"primary",children:typeof A!="boolean"&&((at=A.okButton)==null?void 0:at.children)||e.jsxs("div",{className:"save-detail",children:[e.jsx(Ce.SaveOutlined,{}),e.jsx("span",{children:"保存"})]}),name:typeof A!="boolean"&&((lt=A.okButton)!=null&<.confirm)?((zt=A.okButton)==null?void 0:zt.text)||"保存":"确定",className:`editing-controller${le?" active":""} ${typeof A!="boolean"&&((jt=A.okButton)==null?void 0:jt.className)||""}`,confirm:((Nt=u==null?void 0:u.okButton)==null?void 0:Nt.confirm)===!0?{text:"调整记录保存后,将改变当前巡检数据状态"}:(ut=u==null?void 0:u.okButton)!=null&&ut.confirm?u.okButton.confirm:!1,style:typeof A!="boolean"&&((gt=A.okButton)==null?void 0:gt.style)||void 0,onConfirm:_t})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsx("div",{className:"moveable-controller",children:e.jsx(_e,{title:le?typeof A!="boolean"&&((dt=A.editButton)==null?void 0:dt.exitTitleText)||"退出编辑":typeof A!="boolean"&&((yt=A.editButton)==null?void 0:yt.titleText)||"调整轨迹",className:`moveable-controller-btn${le?" active":""} ${typeof A!="boolean"&&((Dt=A.editButton)==null?void 0:Dt.className)||""}`,style:typeof A!="boolean"&&((It=A.editButton)==null?void 0:It.style)||void 0,onClick:et,children:typeof A!="boolean"?(xt=A.editButton)!=null&&xt.children?(Tt=A.editButton)==null?void 0:Tt.children:(At=A.editButton)!=null&&At.text?e.jsx("span",{children:(wt=A.editButton)==null?void 0:wt.text}):e.jsxs("div",{className:"btn-change",children:[e.jsx(q,{type:"icon-tiaozheng"}),e.jsx("span",{children:"修改"})]}):void 0})})]}))]})]})}),gM=t=>{const{className:n,style:M,length:s=0,current:r=0,speed:i=2e3,play:a=!1,loop:l=!1,loading:c=!1,onChange:z}=t,[N,g]=o.useState(a),[D,d]=o.useState(r),[j,x]=o.useState(null);o.useEffect(()=>{d(r)},[r]),o.useEffect(()=>{g(a)},[a]),o.useEffect(()=>{N?y():D>=s-1&&(d(0),z(0))},[N]),o.useEffect(()=>{N&&(c?j&&(clearTimeout(j),x(null)):x(setTimeout(y,i)))},[c]);const y=()=>{d(h=>h<s-1?(z(h+1),h+1):l?(z(0),0):(w(),h))},Y=()=>{D>=s-1&&d(0),g(!0)},w=()=>{g(!1),j&&(clearTimeout(j),x(null))};return e.jsxs("div",{className:n,style:M,children:[e.jsx(ze,{disabled:D<=0||c,onClick:()=>{z(0),d(0)},children:e.jsx(q,{type:"icon-diyige"})}),e.jsx(ze,{disabled:D<=0||c,onClick:()=>{z(D-1),d(D-1)},children:e.jsx(q,{type:"icon-qianyige"})}),N?e.jsx(ze,{onClick:w,children:e.jsx(q,{type:"icon-zanting"})}):e.jsx(ze,{disabled:D>=s-1||c,onClick:Y,children:e.jsx(q,{type:"icon-bofang"})}),e.jsx(ze,{disabled:D>=s-1||c,onClick:()=>{z(D+1),d(D+1)},children:e.jsx(q,{type:"icon-xiayige"})}),e.jsx(ze,{disabled:D>=s-1||c,onClick:()=>{z(s-1),d(s-1)},children:e.jsx(q,{type:"icon-zuihouyige"})})]})};const dM=16,yM=16,DM=-1,IM=1,xM=-1,TM=1,AM=t=>{const n=t||window.event,M=t.target||t.srcElement;if(n.offsetX)return n.offsetX;{const s=M.getBoundingClientRect();return n.clientX-s.left}},wM=t=>{const n=t||window.event,M=t.target||t.srcElement;if(n.offsetY)return n.offsetY;{const s=M.getBoundingClientRect();return n.clientY-s.top}},LM=t=>{const n=t.split("-");let M=n.length>1||n[0]==="left"||n[0]==="right"?n[0]:"center",s=n.length>1?n[1]:n[0]==="top"||n[0]==="bottom"?n[0]:"middle";return[M,s]},mM=(t,n,M=[dM,yM])=>{const s=()=>{switch(t[0]){case"left":return DM;case"right":return IM;default:return 0}},r=()=>{switch(t[1]){case"top":return xM;case"bottom":return TM;default:return 0}},i=()=>{switch(t[0]){case"left":return-((n==null?void 0:n.width)||0)-M[0]-2;case"right":return 0;default:return-((n==null?void 0:n.width)||0)/2}},a=()=>{switch(t[1]){case"top":return-M[1]-2;case"bottom":return(n==null?void 0:n.height)||0;default:return((n==null?void 0:n.height)||0)/2}};return{x:M[0]*s()+i(),y:M[1]*r()+a()}},fM=t=>{var E;const{children:n,defaultPosition:M,forElement:s,placement:r="right-bottom",curserPosition:i,className:a,style:l}=t,c=o.useRef(null),z=o.useRef(null),N=s||document.body,g=LM(r),D=mM(g,(E=z.current)==null?void 0:E.getBoundingClientRect(),i),[d,j]=o.useState(t.visible||!0),[x,y]=o.useState(M||{x:-2e3,y:-2e3});o.useEffect(()=>(N.addEventListener("mouseenter",Y),N.addEventListener("mousemove",h),N.addEventListener("mouseleave",w),()=>{N.removeEventListener("mouseenter",Y),N.removeEventListener("mousemove",h),N.removeEventListener("mouseleave",w)}),[N]),o.useEffect(()=>{j(t.visible||!0)},[t.visible]);const Y=()=>{j(!0)},w=()=>{j(!1)},h=C=>{let P=AM(C)+D.x;const I=wM(C)+D.y;y({x:P,y:I})};return e.jsx("div",{className:`g-mouse-tip ${g.join(" ")}`,ref:c,style:{left:`${x.x}px`,top:`${x.y}px`,visibility:`${d?"visible":"hidden"}`},children:e.jsx("div",{className:`g-mouse-tip-content ${a}`,style:l,ref:z,children:n})})},Ht=t=>{const{className:n,style:M,value:s,min:r,max:i,step:a=1,onChange:l,showText:c=!1}=t,[z,N]=o.useState(s!=null?s:0);return o.useEffect(()=>{N(s!=null?s:0)},[s]),e.jsxs("div",{className:n,style:M,children:[e.jsx(ze,{disabled:!!(i&&i<=z),onClick:()=>{l(z+a),N(z+a)},children:e.jsx(q,{type:"icon-fangda"})}),c&&e.jsxs("div",{style:{width:40,textAlign:"center"},children:[Math.round(z*100),"%"]}),e.jsx(ze,{disabled:!!(r&&r>=z),onClick:()=>{l(z-a),N(z-a)},children:e.jsx(q,{type:"icon-suoxiao"})})]})};function hM(t,n){var M=document.getElementsByTagName("body")[0],s=document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("src",t),M.appendChild(s),s.onload=n}function YM(t){const[n,M]=o.useState(!1),[s,r]=o.useState(),[i,a]=o.useState(),[l,c]=o.useState(!1),[z,N]=o.useState(),[g,D]=o.useState([]),[d,j]=o.useState(0);function x(I){if(I.viewType!="3DView"){console.error("bimface view type is not 3DView");return}M(!0),z&&y(I.viewToken)}const y=I=>{if(!s){let b=z,T=new window.Glodon.Bimface.Application.WebApplication3DConfig;T.domElement=b,T.Toolbars=[];const m=new window.Glodon.Bimface.Application.WebApplication3D(T);m.addView(I),r(m);const S=m.getViewer();S.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded,function(){window.onresize=function(){S.resize(document.documentElement.clientWidth,document.documentElement.clientHeight-40)},S.setCameraAnimation(!1),S.render(),S.setNavigationMode(window.Glodon.Bimface.Viewer.NavigationMode3D.Walk),S.render(),c(!0)}),S.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ModelAdded,()=>{j($=>$+1)}),a(S)}};o.useEffect(()=>{l&&g.forEach(I=>{i.loadModel({viewToken:I})})},[l,g]),o.useEffect(()=>{},[d]),o.useEffect(()=>{if(!z||!g.length)return;const I=g.pop();I&&w(I),D([...g])},[z]);function Y(I){console.log(I)}function w(I){j(0);const b=()=>{let T=new window.BimfaceSDKLoaderConfig;T.viewToken=I,window.BimfaceSDKLoader.load(T,x,Y)};if(!window.BimfaceSDKLoaderConfig){hM("https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js",b);return}b()}const h=(I,b)=>{if(!i||!l||!z){console.error("BIMFace viewer is not ready.");return}const T=z.getElementsByTagName("canvas")[0],m=document.createElement("canvas");m.width=T.width,m.height=T.height;const S=m.getContext("2d");return S&&(S.fillStyle="#fff",S.fillRect(0,0,m.width,m.height),S.drawImage(T,0,0,T.width,T.height)),m.toDataURL(I,b)},E=I=>{if(!i){console.error("viewer is not ready");return}if(d&&g.length+1===d||!g.length)i.getAllModels().map(m=>i._models[m.modelId]).forEach(m=>{let S=new window.Glodon.Web.Graphics.Color(I);m.overrideAllComponentsColor&&m.overrideAllComponentsColor(S)}),i.enableWireframe(!0),i.getLightManager().getAllFillLights().forEach(m=>m.enableLight(!0)),i.render();else{console.error("viewer is not render complete");return}},C=I=>{if(i)if(d&&g.length+1===d||!g.length)i.getAllModels().map(m=>i._models[m.modelId]).forEach(m=>{Object.keys(I).forEach(S=>{let $=[{categoryId:S}];m.getComponentsByConditions($,function(ee){let A=new window.Glodon.Web.Graphics.Color(I[S]);m.overrideComponentsColorById&&m.overrideComponentsColorById(ee,A)},function(){window.alert("error")})})}),i.enableWireframe(!1),i.getLightManager().getAllFillLights().forEach(m=>m.enableLight(!1)),i.render();else{console.error("viewer is not render complete");return}};function P(I,b,T){const m=i.getModel();m==null||m.getBoundingBox(({currentBoundingBox:S})=>{const $=S.max.x-S.min.x,ee=S.max.y-S.min.y,A=$/ee;let L,k;A>1?(L=b.width,k=L/A):(k=b.height,L=k*A);const W=document.createElement("div");W.setAttribute("style",`width: ${L}px;height: ${k}px`),document.body.appendChild(W);const G=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewerConfig;G.domElement=W;const ye=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewer(G),je=new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMapConfig;je.viewer=i,je.mapViewer=ye,je.type="SetProfile",je.height=I,je.successCallback=se=>{setTimeout(()=>{const Z=new Image;Z.src=W.getElementsByTagName("image")[0].getAttribute("href")||"",Z.onload=()=>{T(Z)}},200)},new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMap(je)})}return{BimfaceViewer:n&&window.Glodon.Bimface.Viewer,BimfaceSection:n&&window.Glodon.Bimface.Plugins.Section,BimfaceMark:n&&window.Glodon.Bimface.Plugins.Marker3D,BimfaceViewerEvents:n&&window.Glodon.Bimface.Viewer.Viewer3DEvent,viewer:i,viewerAdded:l,sDKLoaded:n,loadedModelCount:d,loadModels:I=>{if(I!=null&&I.length||console.error("viewTokens is Empty"),!i&&z){const b=I[0];w(b)}D(I)},setContainerDom:N,getSnapshot:h,setComponentsColorByCatgryId:C,setAllComponentsColor:E,navigationMapByHeight:P}}function EM(t){const{url:n,onScaleChange:M,onLoad:s}=t,r=o.useRef(null),i=kt.useSize(r),a=i==null?void 0:i.width,l=i==null?void 0:i.height,[c,z]=o.useState();return o.useEffect(()=>{a&&l&&c&&M(a/c.width,a,l)},[a,l,c]),e.jsx("img",{ref:r,src:n,className:"select-none",style:{maxWidth:"100%",maxHeight:"100%",cursor:"crosshair"},alt:"",onLoad:()=>{if(r.current){s&&s(r.current);const{naturalWidth:N,naturalHeight:g}=r.current;z({width:N,height:g})}}})}function St(t){const{start:n,end:M}=t,{options:{lineColor:s,lineWidth:r}}=o.useContext(Pe);return e.jsx(e.Fragment,{children:e.jsx("line",{x1:n.x,y1:n.y,x2:M.x,y2:M.y,stroke:s!=null?s:"#FF5500",strokeWidth:r!=null?r:2})})}function pt(t){const{markRenderer:n,marker:M}=t,{point:{x:s,y:r}}=M;return e.jsxs("g",{children:[e.jsx("line",{}),e.jsx("line",{}),e.jsx("circle",{cx:s,cy:r,r:1,fill:"transparent"}),e.jsx("foreignObject",{x:s,y:r,width:0,height:0,fill:"green",className:"relative overflow-visible",children:e.jsx("div",{className:"inline-flex absolute",draggable:!0,onDragStart:()=>{},onDragEnd:()=>{},children:n&&n(M)})})]})}function Ot(t){const{points:n,editing:M,options:s,onClose:r}=t,[i,a]=o.useState(!1),{options:{polygon:l}}=o.useContext(Pe);if(!M&&Xe(n)<=2)return null;const c=In(n),z=n.map(({x:w,y:h})=>`${w},${h}`).join(" "),N=c?`${z} ${c.x},${c.y}`:z,{showVertexIndex:g,vertexBgColor:D,vertexTextColor:d}=l!=null?l:{},j=g?10:5,x=M||g,{hideBorder:y,backgroundColor:Y}=s!=null?s:{};return e.jsxs(e.Fragment,{children:[e.jsx("polygon",{points:`${N}`,fill:Y!=null?Y:"rgba(255, 66, 66, 0.15)"}),!y&&e.jsx("polyline",{points:M?z:N,fill:"transparent",stroke:"#FF5500",strokeDasharray:"6 4",strokeWidth:"2"}),!y&&(n==null?void 0:n.map(({x:w,y:h},E)=>{const C=E===Xe(n)-1;return e.jsx("g",{style:{zIndex:C?1:100,cursor:"pointer",pointerEvents:C?"none":"bounding-box"},onMouseEnter:P=>{C||a(!0)},onMouseLeave:P=>{a(!1)},onClick:P=>{P.stopPropagation()},onDoubleClick:P=>{P.stopPropagation(),r&&r(E)},children:x&&(!C||!i)&&e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:w,cy:h,r:j,fill:D!=null?D:"#FF5500"}),g&&e.jsx("text",{x:w,y:h,"text-anchor":"middle",fill:d!=null?d:"#fff",dy:".3em",style:{cursor:"pointer",userSelect:"none"},children:E+1})]})})}))]})}const CM=$e.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:ge.assign(t=>{t.markerPoint=void 0})},ADD_MARKER:{target:"drawCompleted",actions:[ge.assign((t,{point:n})=>{t.markerPoint=n}),"onAddMarker"]},MOUSE_MOVE:{target:"addingMarker",actions:ge.assign((t,{point:n})=>{t.movingPoint=n})}}},drawingLine:{on:{ADD_LINE_START:{target:"drawingLine",actions:ge.assign((t,n)=>{t.lineStart=n.point})},ADD_LINE_END:{target:"drawCompleted",actions:[ge.assign((t,n)=>{t.lineEnd=n.point}),"onAddLine"]},MOUSE_MOVE:{target:"drawingLine",actions:ge.assign((t,{point:n})=>{t.movingPoint=n})},RESET:{target:"drawCompleted"},CANCEL:{target:"drawCompleted"}}},drawingPolygon:{on:{CANCEL:{target:"canceled"},RESET:{target:"idle",actions:ge.assign(t=>{t.polygonPoints=void 0})},ADD_POLYGON_POINT:{target:"drawingPolygon",actions:ge.assign((t,{point:n})=>{var M;t.polygonPoints=(M=t.polygonPoints)!=null?M:[],t.polygonPoints.push(n)})},MOUSE_MOVE:{target:"drawingPolygon",actions:ge.assign((t,{point:n})=>{t.movingPoint=n})},DRAW_POLYGON_COMPLETE:{target:"drawCompleted",actions:["onAddPolygon"]}}},drawCompleted:{always:{target:"idle"}},canceled:{}}});function SM(t){const{state:n,scale:M,width:s,height:r,drawOptions:i,lines:a,polygons:l,markers:c,markRenderer:z,onAddLine:N,onAddPolygon:g,onAddMarker:D,onStateChange:d}=t,[j,x]=o.useState([]),[y,Y]=o.useState([]),[w,h]=o.useState([]),E=o.useRef(null),{width:C,height:P}=kt.useSize(E)||{};function I({x:L,y:k}){return{x:L/M,y:k/M}}function b({x:L,y:k}){return{x:L*M,y:k*M}}const[T,m]=Dn.useMachine(CM,{actions:{onAddMarker:$e.assign(({markerPoint:L})=>(D&&L&&D(I(L)),{markerPoint:void 0,movingPoint:void 0})),onAddLine:$e.assign(L=>(L.lineStart&&L.lineEnd&&N&&N(I(L.lineStart),I(L.lineEnd)),{lineEnd:void 0,lineStart:void 0,movingPoint:void 0})),onAddPolygon:$e.assign(({polygonPoints:L})=>(g&&L&&L.length>2&&g(L.map(I)),{polygonPoints:void 0,movingPoint:void 0}))},services:{}});o.useEffect(()=>{var L;x((L=a==null?void 0:a.map(({id:k,start:W,end:G})=>({id:k,start:b(W),end:b(G)})))!=null?L:[])},[a]),o.useEffect(()=>{var L;h((L=c==null?void 0:c.map(k=>Me(p({},k),{point:b(k.point)})))!=null?L:[])},[c]),o.useEffect(()=>{var L;Y((L=l==null?void 0:l.map(({id:k,points:W,options:G})=>({id:k,points:W.map(b),options:G})))!=null?L:[])},[l,M]),o.useEffect(()=>{d&&T.matches("idle")&&d("viewOnly")},[T.value]),o.useEffect(()=>{if(d)switch(n){case"drawingLine":m("START_DRAW_LINE");break;case"drawingPolygon":m("START_DRAW_POLYGON");break;case"addingMarker":m("START_ADD_MARKER");break}},[n]);const{lineStart:S,lineEnd:$,polygonPoints:ee,movingPoint:A}=T.context;return e.jsx(Pe.Provider,{value:{options:i!=null?i:{}},children:e.jsx("div",{ref:E,className:"w-full h-full absolute left-0 top-0",style:{cursor:n==="viewOnly"?void 0:"crosshair",width:s,height:r},children:C&&P&&e.jsxs("svg",{viewBox:`0 0 ${C} ${P}`,version:"1.1",className:"absolute inset-0",onClick:L=>{if(!E.current)return;const{top:k,left:W}=E.current.getBoundingClientRect(),G={x:L.clientX-W,y:L.clientY-k};T.matches("drawingLine")?m(S===void 0?{type:"ADD_LINE_START",point:G}:{type:"ADD_LINE_END",point:G}):T.matches("drawingPolygon")?m({type:"ADD_POLYGON_POINT",point:G}):T.matches("addingMarker")&&m({type:"ADD_MARKER",point:G})},onMouseMove:L=>{if(!E.current)return;const{top:k,left:W}=E.current.getBoundingClientRect(),G={x:L.clientX-W,y:L.clientY-k};m({type:"MOUSE_MOVE",point:G})},children:[j==null?void 0:j.map((L,k)=>e.jsx(St,p({},L),k)),S&&A&&e.jsx(St,{start:S,end:A}),y==null?void 0:y.map(({points:L,options:k},W)=>e.jsx(Ot,{editing:!1,points:L,options:k},W)),Xe(ee)>0&&A&&e.jsx(Ot,{editing:!0,points:[...ee,A],onClose:L=>{m({type:"DRAW_POLYGON_COMPLETE"})}}),w==null?void 0:w.map(L=>e.jsx(pt,{marker:L,markRenderer:z})),T.matches("addingMarker")&&A&&e.jsx(pt,{marker:{id:"addingMarker",point:A}})]})})})}function Ke(t,n,M){if(M)return Math.abs(Ke(t,M)-Ke(n,M));for(var s=Math.atan2(n.y-t.y,n.x-t.x);s<0;)s+=2*Math.PI;return s}const Pe=o.createContext({options:{}});Pe.displayName="DrawableContext";function pM(t){const i=t,{url:n}=i,M=we(i,["url"]),[s,r]=yn.useImmer({scale:1,width:0,height:0});return n?e.jsxs("div",{className:"relative bg-pink-500 bg-opacity-40",children:[e.jsx(EM,{url:n,onScaleChange:(a,l,c)=>{r(z=>{z.scale=a,z.width=l,z.height=c})}}),e.jsx(SM,p(p({},M),s))]}):null}exports.Button=xn;exports.Copy=Ut;exports.DocumentViewer=Zt;exports.DrawableContext=Pe;exports.DrawableImageMap=pM;exports.ExpandablePannel=cM;exports.IconButton=ze;exports.Iconfont=q;exports.ImageMap=uM;exports.Markdown=Pt;exports.MarkdownATag=Rt;exports.MarkdownCode=Bt;exports.MarkdownImage=Qt;exports.MarkdownVideo=qe;exports.MouseTip=fM;exports.PanoramaRecordPlayer=gM;exports.PassMap=Vt;exports.TrackMap=$t;exports.Zoom=Ht;exports.calAngle=Ke;exports.useBimface=YM;
|
|
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}.document-viewer{width:100%;height:100%;min-height:200px;display:flex;flex-direction:column;overflow:hidden;position:relative;gap:8px}.document-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid #f0f0f0;background:#fafafa;border-radius:4px;flex-shrink:0}.document-viewer-toolbar-meta{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.document-viewer-toolbar-name{font-weight:500;color:#1f1f1f;max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-viewer-toolbar-size{font-size:12px;color:#666;flex-shrink:0}.document-viewer-body{flex:1;min-height:0;display:flex}.document-viewer-loading{display:flex;justify-content:center;align-items:center;min-height:200px;flex:1}.document-viewer-text,.document-viewer-json,.document-viewer-xml{padding:16px;background:#f5f5f5;border-radius:4px;overflow:auto;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;flex:1;min-height:0}.document-viewer-json{background:#f9f9f9}.document-viewer-xml{background:#fff8e1}.document-viewer-jsonl{padding:16px;overflow:auto;flex:1;min-height:0;width:100%;display:flex;flex-direction:column}.document-viewer-jsonl-item{margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:4px;border-left:3px solid #1890ff;width:100%;box-sizing:border-box;max-width:100%}.document-viewer-jsonl-item:last-child{margin-bottom:0}.document-viewer-jsonl-item pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;width:100%;max-width:100%;box-sizing:border-box}.document-viewer-code{border-radius:4px;overflow:auto;max-height:100%;height:100%;display:flex;flex-direction:column;width:100%}.document-viewer-code pre{margin:0!important;padding:16px!important;background:#f5f5f5!important;overflow:visible;width:100%;box-sizing:border-box}.document-viewer-code>div{overflow:auto;max-height:100%;width:100%}.document-viewer-image{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-image .ant-image{max-width:100%;max-height:100%;width:100%;height:100%}.document-viewer-image .ant-image img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.document-viewer-video{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-video video{max-width:100%;max-height:100%}.document-viewer-audio{padding:16px;display:flex;justify-content:center;align-items:center;min-height:100px;overflow:hidden;flex:1;min-height:0}.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-zip{width:100%;height:100%;min-height:0;position:relative;flex:1;display:flex;flex-direction:column}.document-viewer-zip{display:flex;flex-direction:column;padding:16px;background:#fff;overflow:hidden}.document-viewer-zip .ant-table{font-size:12px}.document-viewer-zip .ant-table .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.document-viewer-zip .ant-table .ant-table-tbody>tr.ant-table-row-selected>td{background-color:#e6f7ff}.document-viewer-iframe{width:100%;height:100%;min-height:0;border:none;border-radius:4px;flex:1}.document-viewer-fallback{margin-top:16px}.document-viewer-alert-full{width:100%;align-self:flex-start}@media (max-width: 768px){.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-iframe{min-height:0}}.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 nn=Object.defineProperty,Mn=Object.defineProperties;var sn=Object.getOwnPropertyDescriptors;var $e=Object.getOwnPropertySymbols;var ht=Object.prototype.hasOwnProperty,Yt=Object.prototype.propertyIsEnumerable;var Lt=(n,e,M)=>e in n?nn(n,e,{enumerable:!0,configurable:!0,writable:!0,value:M}):n[e]=M,v=(n,e)=>{for(var M in e||(e={}))ht.call(e,M)&&Lt(n,M,e[M]);if($e)for(var M of $e(e))Yt.call(e,M)&&Lt(n,M,e[M]);return n},ie=(n,e)=>Mn(n,sn(e));var Ye=(n,e)=>{var M={};for(var s in n)ht.call(n,s)&&e.indexOf(s)<0&&(M[s]=n[s]);if(n!=null&&$e)for(var s of $e(n))e.indexOf(s)<0&&Yt.call(n,s)&&(M[s]=n[s]);return M};var de=(n,e,M)=>new Promise((s,i)=>{var r=a=>{try{l(M.next(a))}catch(z){i(z)}},c=a=>{try{l(M.throw(a))}catch(z){i(z)}},l=a=>a.done?s(a.value):Promise.resolve(a.value).then(r,c);l((M=M.apply(n,e)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),on=require("react-markdown"),rn=require("remark-gfm"),cn=require("rehype-raw"),an=require("rehype-external-links"),ln=require("remark-math"),zn=require("rehype-katex");require("katex/dist/katex.min.css");const k=require("antd"),jn=require("antd-mobile"),Nn=require("react-device-detect"),kt=require("react-syntax-highlighter"),Ae=require("@ant-design/icons"),le=require("@zip.js/zip.js"),Qt=require("antd/es/tooltip"),un=require("react-moveable"),gn=require("deep-object-diff"),dn=require("lodash/debounce"),Xe=require("antd/es/button"),yn=require("antd/es/popconfirm"),Dn=require("use-immer"),Ut=require("ahooks"),In=require("@xstate/react"),Ke=require("lodash/size"),He=require("xstate"),xn=require("lodash/first"),Ie=require("@xstate/immer");const Tn=n=>{const l=n,{primary:e=!1,size:M="medium",backgroundColor:s,label:i}=l,r=Ye(l,["primary","size","backgroundColor","label"]),c=e?"storybook-button--primary":"storybook-button--secondary";return t.jsx("button",ie(v({type:"button",className:["storybook-button",`storybook-button--${M}`,c].join(" "),style:{backgroundColor:s}},r),{children:i}))};const wn=n=>t.jsx("video",v({style:{maxWidth:"100%",width:560,height:315}},n)),tt=wn;function An(n){const e=n.split(/(```[\s\S]*?```|`[^`]*?`|<code>[\s\S]*?<\/code>)/);let M="";for(let s=0;s<e.length;s++)if(s%2===0){let i=e[s].replaceAll(/\\\[([\s\S]*?)\\\]/g,(r,c)=>`$$${c}$$`).replaceAll(/\\\(([\s\S]*?)\\\)/g,(r,c)=>`$${c}$`);M+=i}else M+=e[s];return M}function mn(n){var c;const e=(()=>{try{return new URL(n)}catch(l){return null}})();if(!e)return null;const s=((c=e.pathname.split(".").pop())==null?void 0:c.toLowerCase())||"",i=["jpg","jpeg","gif","png"],r=["mp4","wmv","avi","mov"];return i.includes(s)?"image":r.includes(s)?"video":null}const fn=n=>{const[e,M]=o.useState(!1),[s,i]=o.useState();return o.useEffect(()=>{n.src&&i(mn(n.src))},[n.src]),s=="video"?t.jsx(tt,{src:n.src,controls:!0}):Nn.isMobile?t.jsxs(t.Fragment,{children:[t.jsx("img",v({style:{maxWidth:"100%"},src:n==null?void 0:n.src,onClick:()=>{M(!0)}},n)),t.jsx(jn.ImageViewer,{image:(n==null?void 0:n.src)||"",visible:e,onClose:()=>{M(!1)}})]}):t.jsx(k.Image,ie(v({style:{maxWidth:"100%"},preview:{getContainer:()=>document.body}},n),{onClick:r=>{var c,l,a;(a=n.onClick)==null||a.call(n,ie(v({},r),{target:(l=(c=r.target)==null?void 0:c.offsetParent)==null?void 0:l.children[0]}))},onError:()=>{console.log(n),console.warn("图片加载失败")}}))},Bt=fn,se=Ae.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}),Ln=M=>de(exports,[M],function*({target:n,value:e}){try{let s="";if(!navigator.clipboard)return console.warn("Browser don't have support for native clipboard."),!1;if(n){const i=document.querySelector(n);if(!i||!i.textContent)return console.warn("Element not found"),!1;e=i.textContent}return e&&(s=e),yield navigator.clipboard.writeText(s),!0}catch(s){return!1}});const Rt=({text:n})=>{const[e,M]=o.useState();return o.useEffect(()=>{e&&setTimeout(()=>M(void 0),2e3)},[e]),e?t.jsx("div",{className:"copy-tip",children:e==="success"?t.jsx(Ae.CheckOutlined,{style:{color:"rgba(48, 191, 19, 1)"}}):t.jsx(Ae.CloseOutlined,{style:{color:"#dc4446"}})}):t.jsx(k.Tooltip,{title:"复制",children:t.jsx("div",{className:"copy-btn",onClick:()=>{Ln({value:n}).then(s=>{M(s?"success":"failed")})},children:t.jsx(se,{type:"icon-fuzhi"})})})},hn=r=>{var c=r,{node:n,inline:e,className:M,children:s}=c,i=Ye(c,["node","inline","className","children"]);const l=/language-(\w+)/.exec(M||""),a=l?l[1]:null;return!e&&a?t.jsxs("div",{className:"markdown-code",children:[t.jsxs("div",{className:"markdown-code-title",children:[t.jsx("span",{className:"markdown-code-title-text",children:a}),t.jsx(k.Space,{className:"markdown-code-title-action",children:t.jsx(Rt,{text:String(s)})})]}),t.jsx(kt.Prism,ie(v({className:"markdown-code-context",language:a},i),{wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:String(s).replace(/\n$/,"")}))]}):t.jsx("code",ie(v({className:M},i),{children:s}))},Pt=hn,Yn=n=>{var i,r;const s=n,{node:e}=s,M=Ye(s,["node"]);if(e.tagName==="a"&&((i=e.children)==null?void 0:i.length)>0){const c=((r=e.children[0])==null?void 0:r.value)||"";let l=/(^https?:\/\/|^www\.)(?:www\.)?[\w\-]+(\.[\w\-]+)+(\/[\w\- .\/?%&=]*)?/g,a=c.match(l),z=c.replace(l,"").trim();if(!(a!=null&&a.length))return t.jsx("a",v({},M));const N=a[0];return t.jsxs(t.Fragment,{children:[t.jsx("a",ie(v({href:/^www\./.test(N)?"//"+N:N,onClick:()=>window.open(n.href,n.target||"_blank")},M),{children:N})),z]})}return t.jsx("a",v({},M))},Wt=Yn,Gt=r=>{var c=r,{showLatex:n=!0,components:e={},componentProps:M,children:s}=c,i=Ye(c,["showLatex","components","componentProps","children"]);const l=o.useRef(null),a=v({img(z){return t.jsx(Bt,v(v({},z),M==null?void 0:M.img))},code(z){return t.jsx(Pt,v(v({},z),M==null?void 0:M.code))},video(z){return t.jsx(tt,v(v({},z),M==null?void 0:M.video))},a(z){return t.jsx(Wt,v(v({},z),M==null?void 0:M.a))}},e);return t.jsx("div",{ref:l,children:t.jsx(on,ie(v({className:"markdown",rehypePlugins:[zn,cn,[an,{target:"_blank"}]],remarkPlugins:[ln,[rn,{singleTilde:!1}]]},i),{children:n?An(s):s,components:a}))})},Pe=n=>{var i;if(!n)return;const e=n.split(/[?#]/)[0],s=(e.split("/").pop()||e).split(".");if(!(s.length<2))return(i=s.pop())==null?void 0:i.toLowerCase()},Zt=n=>{if(!n)return"unknown";const e=n.toLowerCase();return["svg","png","gif","jpg","jpeg","tiff","tif","bmp"].includes(e)?"image":e==="mp4"?"video":e==="mp3"?"audio":e==="pdf"?"pdf":e==="markdown"||e==="md"?"markdown":e==="json"?"json":e==="jsonl"||e==="josnl"?"jsonl":e==="csv"?"csv":e==="tsv"?"tsv":e==="html"||e==="htm"?"html":e==="xml"?"xml":["doc","docx","ppt","pptx","xls","xlsx","wps","odt","rtf","ods","pps","ppsx","odp","key"].includes(e)?"office":["js","jsx","ts","tsx","py","java","cpp","c","cc","cxx","h","hpp","hxx","css","less","scss","sass","vue","go","rs","rb","php","swift","kt","scala","sh","bash","zsh","fish","ps1","bat","cmd","yml","yaml","toml","ini","conf","config","json","xml","sql","r","m","mm","pl","pm","lua","dart","elm","clj","cljs","ex","exs","erl","hrl","hs","ml","mli","fs","fsx","vb","cs","d","nim","zig","v","odin"].includes(e)?"code":e==="txt"?"text":e==="zip"?"zip":e==="tex"||e==="latex"?"text":"unknown"},Je=5*1024*1024,pn=2*1024*1024,En=2*1024*1024,Cn=5*1024*1024,Sn=5*1024*1024,On=2*1024*1024,vn=2*1024*1024,bn=2*1024*1024,kn=2*1024*1024,pt=100*1024*1024,Qn=100*1024*1024,Ee=1e4,Ce=1e4,_e=5e3,xe=1e3,Un=1024*1024*5,Bn=3e4,Rn=["text","json","csv","tsv","markdown","html","xml","jsonl","image","pdf","code"],Pn=n=>{const[e,M]=o.useState(null),[s,i]=o.useState(!0),[r,c]=o.useState(null),l=o.useRef(null);return o.useEffect(()=>{if(!n){c("文件URL不能为空"),i(!1);return}return l.current&&(URL.revokeObjectURL(l.current),l.current=null,M(null)),i(!0),c(null),fetch(n).then(a=>{if(!a.ok)throw new Error(`HTTP error! status: ${a.status}`);return a.blob()}).then(a=>{if(a.type&&a.type!=="application/pdf"&&!n.toLowerCase().endsWith(".pdf"))throw new Error("文件不是有效的 PDF 格式");const z=URL.createObjectURL(a);l.current=z,M(z),i(!1)}).catch(a=>{c(a.message||"加载 PDF 失败"),i(!1)}),()=>{l.current&&(URL.revokeObjectURL(l.current),l.current=null)}},[n]),{pdfBlobUrl:e,pdfLoading:s,pdfError:r}},Wn=n=>{if(n===0)return"0 B";const e=1024,M=["B","KB","MB","GB"],s=Math.floor(Math.log(n)/Math.log(e));return Math.round(n/Math.pow(e,s)*100)/100+" "+M[s]},Gn=n=>de(exports,null,function*(){let e=!1,M=0;try{const s=yield fetch(n,{method:"HEAD",headers:{Range:"bytes=0-0"}}),i=s.headers.get("Accept-Ranges"),r=s.headers.get("Content-Range"),c=s.headers.get("Content-Length");if(r){const l=r.match(/bytes \d+-\d+\/(\d+)/);l&&(M=parseInt(l[1],10))}else c&&(M=parseInt(c,10));return e=s.status===206||i==="bytes"||r!==null&&r.startsWith("bytes"),{supportsRange:e,fileSize:M}}catch(s){return console.warn("Range 支持检测失败:",s),{supportsRange:!1,fileSize:0}}}),Zn=n=>de(exports,null,function*(){try{const M=(yield fetch(n,{method:"HEAD"})).headers.get("Content-Length");return M?parseInt(M,10):0}catch(e){return console.warn("无法获取文件大小:",e),0}}),Re={filenameEncoding:"utf-8"},Vn=n=>{const[e,M]=o.useState([]),[s,i]=o.useState(!0),[r,c]=o.useState(null),[l,a]=o.useState(null),[z,N]=o.useState(null);o.useEffect(()=>{if(!n){c("文件URL不能为空"),i(!1);return}i(!0),c(null),M([]),a(null),z!=null&&z.blobUrl&&(URL.revokeObjectURL(z.blobUrl),N(null));let y=null;de(exports,null,function*(){try{le.configure({chunkSize:Un,useWebWorkers:!1});const{supportsRange:d,fileSize:j}=yield Gn(n);if(d){const I=new le.HttpRangeReader(n);y=new le.ZipReader(I,Re);const E=(yield Promise.race([y.getEntries(),new Promise((h,m)=>setTimeout(()=>m(new Error("读取 ZIP 目录结构超时")),Bn))])).filter(h=>!h.directory).map(h=>({name:h.filename,size:h.uncompressedSize||0,isDirectory:!1}));E.sort((h,m)=>h.name.localeCompare(m.name)),E.length>xe?(c(`ZIP 文件包含 ${E.length} 个文件,仅显示前 ${xe} 个`),M(E.slice(0,xe))):M(E)}else{if(j>pt)throw new Error(`服务器不支持 HTTP Range 请求,且文件过大(${Math.round(j/1024/1024)}MB),无法预览。请下载后查看。`);const I=yield fetch(n);if(!I.ok)throw new Error(`HTTP error! status: ${I.status}`);const w=yield I.blob(),E=new le.BlobReader(w);y=new le.ZipReader(E,Re);const m=(yield y.getEntries()).filter(p=>!p.directory).map(p=>({name:p.filename,size:p.uncompressedSize||0,isDirectory:!1}));m.sort((p,O)=>p.name.localeCompare(O.name)),m.length>xe?(c(`ZIP 文件包含 ${m.length} 个文件,仅显示前 ${xe} 个`),M(m.slice(0,xe))):M(m)}y&&(yield y.close()),i(!1)}catch(d){if(y)try{yield y.close()}catch(I){}const j=d.message||d.toString()||"加载 ZIP 文件失败";if(j.includes("Range")||j.includes("range")||j.includes("HTTP Range not supported")||j.includes("超时"))try{const I=yield Zn(n);if(I>pt)throw new Error(`文件过大(${Math.round(I/1024/1024)}MB),无法通过 Range 请求加载,且文件过大无法下载整个文件预览。请下载后查看。`);const w=yield fetch(n);if(!w.ok)throw new Error(`HTTP error! status: ${w.status}`);const E=yield w.blob(),h=new le.BlobReader(E);y=new le.ZipReader(h,Re);const p=(yield y.getEntries()).filter(O=>!O.directory).map(O=>({name:O.filename,size:O.uncompressedSize||0,isDirectory:!1}));p.sort((O,Y)=>O.name.localeCompare(Y.name)),p.length>xe?(c(`ZIP 文件包含 ${p.length} 个文件,仅显示前 ${xe} 个`),M(p.slice(0,xe))):M(p),y&&(yield y.close()),i(!1);return}catch(I){const w=I.message||I.toString();c(`ZIP 文件加载失败: ${j}。Fallback 方案也失败: ${w}`)}else c(j);i(!1)}})},[n]);const g=o.useCallback(y=>de(exports,null,function*(){if(l===y&&z){a(null),z.blobUrl&&URL.revokeObjectURL(z.blobUrl),N(null);return}a(y);try{let d=null,j;try{const p=new le.HttpRangeReader(n);d=new le.ZipReader(p,Re),j=(yield d.getEntries()).find(Y=>Y.filename===y)}catch(p){const O=yield fetch(n);if(!O.ok)throw new Error(`HTTP error! status: ${O.status}`);const Y=yield O.blob(),D=new le.BlobReader(Y);d=new le.ZipReader(D,Re),j=(yield d.getEntries()).find(x=>x.filename===y)}if(!j)throw new Error("文件不存在");if(j.directory)throw new Error("无法预览目录");if((j.uncompressedSize||0)>Qn)throw new Error("文件过大(超过 100MB),无法预览");const w=yield j.getData(new le.BlobWriter),E=URL.createObjectURL(w),h=Pe(y),m=Zt(h);if(!Rn.includes(m))throw new Error(`不支持预览 ${h||"未知"} 格式的文件`);N({name:y,blobUrl:E,type:m}),d&&(yield d.close())}catch(d){const j=d.message||d.toString()||"预览文件失败";c(j)}}),[n,l,z]);return o.useEffect(()=>()=>{z!=null&&z.blobUrl&&URL.revokeObjectURL(z.blobUrl)},[z]),{zipFiles:e,zipLoading:s,zipError:r,selectedZipFile:l,zipFileContent:z,handleFileClick:g,setSelectedZipFile:a}},X=({url:n,fileName:e})=>t.jsx(k.Button,{type:"link",icon:t.jsx(Ae.DownloadOutlined,{}),href:n,download:e,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}),qe=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;if((e||new Blob([n.content]).size)>pn){const r=n.content.split(`
|
|
3
|
+
`),c=r.length>Ee,a=(c?r.slice(0,Ee):r).join(`
|
|
4
|
+
`);return t.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[c&&t.jsx(k.Alert,{message:"文件过大",description:`文件包含 ${r.length} 行,仅显示前 ${Ee} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:t.jsx(X,{url:M,fileName:s})}),t.jsx("pre",{className:"document-viewer-text",children:a})]})}return t.jsx("pre",{className:"document-viewer-text",children:n.content})},$n=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const i=e||new Blob([n.content]).size;if(i>En)return t.jsx(k.Alert,{message:"JSON文件过大",description:`文件大小 ${Math.round(i/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:t.jsx(X,{url:M,fileName:s})});try{const r=JSON.parse(n.content);return t.jsx("pre",{className:"document-viewer-json",children:JSON.stringify(r,null,2)})}catch(r){return t.jsx(k.Alert,{message:"JSON解析失败",description:"文件内容不是有效的JSON格式",type:"error",action:t.jsx(X,{url:M,fileName:s})})}},Hn=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const i=e||new Blob([n.content]).size;if(i>Cn)return t.jsx(k.Alert,{message:"CSV文件过大",description:`文件大小 ${Math.round(i/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:t.jsx(X,{url:M,fileName:s})});try{const r=n.content.split(`
|
|
5
|
+
`).filter(g=>g.trim());if(r.length===0)return null;const c=r.length>Ce,l=c?r.slice(0,Ce):r,a=l[0].split(",").map(g=>g.trim()),z=l.slice(1).map((g,y)=>{const d=g.split(",").map(I=>I.trim()),j={key:String(y)};return a.forEach((I,w)=>{j[I]=d[w]||""}),j}),N=a.map(g=>({title:g,dataIndex:g,key:g}));return t.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[c&&t.jsx(k.Alert,{message:"文件过大",description:`CSV文件包含 ${r.length} 行,仅显示前 ${Ce} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:t.jsx(X,{url:M,fileName:s})}),t.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:t.jsx(k.Table,{dataSource:z,columns:N,pagination:!1,scroll:{x:"max-content",y:"100%"},size:"small"})})]})}catch(r){return t.jsx(k.Alert,{message:"CSV解析失败",description:"文件内容不是有效的CSV格式",type:"error",action:t.jsx(X,{url:M,fileName:s})})}},Fn=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const i=e||new Blob([n.content]).size;if(i>Sn)return t.jsx(k.Alert,{message:"TSV文件过大",description:`文件大小 ${Math.round(i/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:t.jsx(X,{url:M,fileName:s})});try{const r=n.content.split(`
|
|
6
|
+
`).filter(g=>g.trim());if(r.length===0)return null;const c=r.length>Ce,l=c?r.slice(0,Ce):r,a=l[0].split(" ").map(g=>g.trim()),z=l.slice(1).map((g,y)=>{const d=g.split(" ").map(I=>I.trim()),j={key:String(y)};return a.forEach((I,w)=>{j[I]=d[w]||""}),j}),N=a.map(g=>({title:g,dataIndex:g,key:g}));return t.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[c&&t.jsx(k.Alert,{message:"文件过大",description:`TSV文件包含 ${r.length} 行,仅显示前 ${Ce} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:t.jsx(X,{url:M,fileName:s})}),t.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:t.jsx(k.Table,{dataSource:z,columns:N,pagination:!1,scroll:{x:"max-content",y:"100%"},size:"small"})})]})}catch(r){return t.jsx(k.Alert,{message:"TSV解析失败",description:"文件内容不是有效的TSV格式",type:"error",action:t.jsx(X,{url:M,fileName:s})})}},Jn=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const i=e||new Blob([n.content]).size;if(i>On)return t.jsx(k.Alert,{message:"JSONL文件过大",description:`文件大小 ${Math.round(i/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:t.jsx(X,{url:M,fileName:s})});try{const r=n.content.split(`
|
|
7
|
+
`).filter(a=>a.trim()),c=r.length>_e,l=c?r.slice(0,_e):r;return t.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",width:"100%",overflow:"hidden"},children:[c&&t.jsx(k.Alert,{message:"文件过大",description:`JSONL文件包含 ${r.length} 行,仅显示前 ${_e} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:t.jsx(X,{url:M,fileName:s})}),t.jsx("div",{className:"document-viewer-jsonl",children:l.map((a,z)=>{try{const N=JSON.parse(a);return t.jsx("div",{className:"document-viewer-jsonl-item",children:t.jsx("pre",{children:JSON.stringify(N,null,2)})},z)}catch(N){return t.jsx("div",{className:"document-viewer-jsonl-item",children:t.jsx("pre",{children:a})},z)}})})]})}catch(r){return t.jsx(k.Alert,{message:"JSONL解析失败",description:"文件内容解析出错",type:"error",action:t.jsx(X,{url:M,fileName:s})})}},_n=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const i=e||new Blob([n.content]).size;return i>vn?t.jsx(k.Alert,{message:"Markdown文件过大",description:`文件大小 ${Math.round(i/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:t.jsx(X,{url:M,fileName:s})}):t.jsx("div",{style:{height:"100%",overflow:"auto",padding:"16px"},children:t.jsx(Gt,{children:n.content})})},Xn=({fileContent:n})=>n!=null&&n.content?t.jsx("iframe",{srcDoc:n.content,className:"document-viewer-iframe",title:"HTML Preview",sandbox:"allow-same-origin allow-scripts"}):null,Kn=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const i=e||new Blob([n.content]).size;if(i>bn)return t.jsx(k.Alert,{message:"XML文件过大",description:`文件大小 ${Math.round(i/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:t.jsx(X,{url:M,fileName:s})});try{const r=n.content.replace(/></g,`>
|
|
8
|
+
<`).replace(/^\s+/gm,"");return t.jsx("pre",{className:"document-viewer-xml",children:r})}catch(r){return t.jsx(qe,{fileContent:n,fileSize:e,url:M,fileName:s})}},qn=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const r=o.useMemo(()=>Pe(s||M),[s,M])||"text";if((e||new Blob([n.content]).size)>kn){const l=n.content.split(`
|
|
9
|
+
`),a=l.length>Ee,N=(a?l.slice(0,Ee):l).join(`
|
|
10
|
+
`);return t.jsxs("div",{className:"document-viewer-code",children:[a&&t.jsx(k.Alert,{message:"文件过大",description:`文件包含 ${l.length} 行,仅显示前 ${Ee} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:t.jsx(X,{url:M,fileName:s})}),t.jsx("div",{style:{overflow:"auto",flex:1,width:"100%"},children:t.jsx("pre",{className:"document-viewer-text",style:{fontSize:"12px",width:"100%",boxSizing:"border-box"},children:N})})]})}return t.jsx("div",{className:"document-viewer-code",children:t.jsx("div",{style:{overflow:"auto",flex:1,width:"100%"},children:t.jsx(kt.Prism,{language:r,wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",customStyle:{width:"100%",margin:0,boxSizing:"border-box"},children:n.content})})})},eM=({url:n,fileName:e})=>t.jsx("div",{className:"document-viewer-image",children:t.jsx(k.Image,{src:n,alt:e||"Image",style:{maxWidth:"100%",maxHeight:"100%",objectFit:"contain"}})}),tM=({url:n})=>t.jsx("div",{className:"document-viewer-video",children:t.jsx("video",{src:n,controls:!0,style:{maxWidth:"100%"},children:"您的浏览器不支持视频播放"})}),nM=({url:n})=>t.jsx("div",{className:"document-viewer-audio",children:t.jsx("audio",{src:n,controls:!0,style:{width:"100%"},children:"您的浏览器不支持音频播放"})}),MM=({pdfBlobUrl:n,pdfLoading:e,pdfError:M,url:s,fileName:i})=>e?t.jsx("div",{className:"document-viewer-loading",children:t.jsx(k.Spin,{size:"large",tip:"加载 PDF 中..."})}):M?t.jsx(k.Alert,{message:"PDF 加载失败",description:M,type:"error",showIcon:!0,action:t.jsx(X,{url:s,fileName:i})}):n?t.jsx("div",{className:"document-viewer-pdf",children:t.jsx("iframe",{src:n,className:"document-viewer-iframe",title:"PDF Preview"})}):t.jsx(k.Alert,{message:"PDF 加载失败",description:"无法创建 PDF 预览",type:"error",showIcon:!0,action:t.jsx(X,{url:s,fileName:i})}),sM=({zipFiles:n,zipLoading:e,zipError:M,selectedZipFile:s,zipFileContent:i,onFileClick:r,url:c})=>e?t.jsx("div",{className:"document-viewer-loading",children:t.jsx(k.Spin,{size:"large",tip:"加载 ZIP 文件..."})}):M&&n.length===0?t.jsx(k.Alert,{className:"document-viewer-alert-full",message:"ZIP 加载失败",description:M,type:"error",showIcon:!0,action:t.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",children:"下载文件"})}):t.jsxs("div",{className:"document-viewer-zip",children:[M&&n.length>0&&t.jsx(k.Alert,{className:"document-viewer-alert-full",message:"提示",description:M,type:"warning",showIcon:!0,style:{marginBottom:16}}),t.jsxs("div",{style:{display:"flex",height:"100%",gap:"16px"},children:[t.jsxs("div",{style:{width:"300px",borderRight:"1px solid #e8e8e8",overflow:"auto",display:"flex",flexDirection:"column"},children:[t.jsxs("div",{style:{padding:"12px",fontWeight:"bold",borderBottom:"1px solid #e8e8e8",flexShrink:0},children:["文件列表 (",n.length,")"]}),t.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:t.jsx(k.Table,{dataSource:n,size:"small",pagination:!1,scroll:{y:"100%"},onRow:l=>({onClick:()=>r(l.name),style:{cursor:"pointer",backgroundColor:s===l.name?"#e6f7ff":"transparent"}}),columns:[{title:"文件名",dataIndex:"name",key:"name",ellipsis:!0,render:l=>t.jsx("span",{title:l,children:l.split("/").pop()})},{title:"大小",dataIndex:"size",key:"size",width:80,render:l=>Wn(l)}]})})]}),t.jsx("div",{style:{flex:1,overflow:"auto",display:"flex",flexDirection:"column"},children:s&&i?t.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[t.jsx("div",{style:{padding:"12px",borderBottom:"1px solid #e8e8e8",fontWeight:"bold",flexShrink:0},children:i.name}),t.jsx("div",{style:{flex:1,overflow:"auto",padding:"16px"},children:t.jsx(Vt,{url:i.blobUrl,fileName:i.name,showToolbar:!1,style:{height:"100%",width:"100%"}})})]}):t.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"#999"},children:"请从左侧列表中选择文件进行预览"})})]})]}),oM=({message:n,description:e,action:M,url:s,fileName:i})=>{const r=s?t.jsx(k.Button,{type:"link",icon:t.jsx(Ae.DownloadOutlined,{}),href:s,download:i,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}):null;return t.jsx(k.Alert,{className:"document-viewer-alert-full",message:n,description:e,type:"error",showIcon:!0,action:M||r})};const iM=n=>{if(!n)return"unknown";const e=n.split(";")[0].trim().toLowerCase();return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e.startsWith("audio/")?"audio":e==="application/pdf"?"pdf":e==="text/markdown"||e==="text/x-markdown"?"markdown":e==="application/json"?"json":e==="application/jsonl"?"jsonl":e==="text/csv"||e==="application/csv"?"csv":e==="text/tab-separated-values"?"tsv":e==="application/javascript"||e==="text/javascript"?"code":e==="application/xml"||e==="text/xml"?"xml":e==="text/html"||e==="application/xhtml+xml"?"html":e==="text/plain"?"text":"unknown"},rM=n=>!n||Number.isNaN(n)?"大小未知":n<1024?`${n}B`:n<1024*1024?`${(n/1024).toFixed(1)}KB`:n<1024*1024*1024?`${(n/1024/1024).toFixed(1)}MB`:`${(n/1024/1024/1024).toFixed(1)}GB`,cM=(n,e)=>{if(e)return e;try{const i=new URL(n).pathname.split("/").filter(Boolean).pop();return decodeURIComponent(i||n)}catch(M){return n}},aM=n=>{const{url:e,fileName:M,className:s,style:i,showToolbar:r=!0}=n,c=o.useMemo(()=>{const G=Pe(e),C=M?Pe(M):void 0;return Zt(G||C)},[e,M]),[l,a]=o.useState(c),{pdfBlobUrl:z,pdfLoading:N,pdfError:g}=Pn(c==="pdf"?e:""),{zipFiles:y,zipLoading:d,zipError:j,selectedZipFile:I,zipFileContent:w,handleFileClick:E}=Vn(c==="zip"?e:""),[h,m]=o.useState(!0),[p,O]=o.useState(null),[Y,D]=o.useState(null),[S,x]=o.useState(0),[L,b]=o.useState(!1),J=o.useMemo(()=>cM(e,M),[M,e]),re=o.useMemo(()=>rM(S),[S]),T=!!(Y!=null&&Y.content),f=!T&&!e,B=o.useMemo(()=>[{key:"copy-content",label:"复制内容",disabled:!T},{key:"copy-url",label:"复制地址",disabled:!e}],[T,e]);o.useEffect(()=>{if(a(c),c==="pdf"||c==="zip"){m(!1);return}if(!e){O("文件URL不能为空"),m(!1);return}if(["image","video","audio","office"].includes(c)){m(!1);return}m(!0),O(null),de(exports,null,function*(){try{if(e.startsWith("blob:")||e.startsWith("data:")){const $=yield fetch(e);if(!$.ok)throw new Error(`HTTP error! status: ${$.status}`);const _=yield $.blob(),De=_.size;if(x(De),De>Je){O(`文件过大(${Math.round(De/1024/1024)}MB),无法预览。请下载后查看。`),m(!1);return}const Te=yield _.text();c==="unknown"&&a("text"),D({content:Te}),m(!1);return}const C=yield fetch(e,{method:"HEAD"}),te=C.headers.get("Content-Length"),ze=C.headers.get("Content-Type"),K=te?parseInt(te,10):0;if(x(K),c==="unknown"){const $=iM(ze);$!=="unknown"&&a($)}if(K>Je){O(`文件过大(${Math.round(K/1024/1024)}MB),无法预览。请下载后查看。`),m(!1);return}const q=yield fetch(e);if(!q.ok)throw new Error(`HTTP error! status: ${q.status}`);const F=yield q.text(),ye=new Blob([F]).size;if(ye>Je){O(`文件过大(${Math.round(ye/1024/1024)}MB),无法预览。请下载后查看。`),m(!1);return}l==="unknown"&&a("text"),D({content:F}),m(!1)}catch(G){O(G.message||"加载文件失败"),m(!1)}})},[e,c]);const Z=o.useCallback(()=>de(exports,null,function*(){var G;if(!(Y!=null&&Y.content)){k.message.warning("暂无可复制的内容");return}try{if(b(!0),(G=navigator==null?void 0:navigator.clipboard)!=null&&G.writeText)yield navigator.clipboard.writeText(Y.content);else{const C=document.createElement("textarea");C.value=Y.content,C.style.position="fixed",C.style.opacity="0",document.body.appendChild(C),C.select(),document.execCommand("copy"),document.body.removeChild(C)}k.message.success("内容已复制到剪贴板")}catch(C){k.message.error((C==null?void 0:C.message)||"复制失败,请手动复制")}finally{b(!1)}}),[Y]),V=o.useCallback(()=>de(exports,null,function*(){var G;if(!e){k.message.warning("暂无可复制的地址");return}try{if((G=navigator==null?void 0:navigator.clipboard)!=null&&G.writeText)yield navigator.clipboard.writeText(e);else{const C=document.createElement("textarea");C.value=e,C.style.position="fixed",C.style.opacity="0",document.body.appendChild(C),C.select(),document.execCommand("copy"),document.body.removeChild(C)}k.message.success("链接已复制到剪贴板")}catch(C){k.message.error((C==null?void 0:C.message)||"复制失败,请手动复制")}}),[e]),ue=o.useCallback(C=>de(exports,[C],function*({key:G}){G==="copy-content"&&(yield Z()),G==="copy-url"&&(yield V())}),[Z,V]),ae=()=>{if(h)return t.jsx("div",{className:"document-viewer-loading",children:t.jsx(k.Spin,{size:"large",tip:"加载中..."})});if(p)return t.jsx(oM,{message:"加载失败",description:p,url:e,fileName:M});if(l==="unknown"&&(Y!=null&&Y.content))return t.jsx(qe,{fileContent:Y,fileSize:S,url:e,fileName:M});switch(l){case"text":return t.jsx(qe,{fileContent:Y,fileSize:S,url:e,fileName:M});case"json":return t.jsx($n,{fileContent:Y,fileSize:S,url:e,fileName:M});case"csv":return t.jsx(Hn,{fileContent:Y,fileSize:S,url:e,fileName:M});case"tsv":return t.jsx(Fn,{fileContent:Y,fileSize:S,url:e,fileName:M});case"jsonl":return t.jsx(Jn,{fileContent:Y,fileSize:S,url:e,fileName:M});case"markdown":return t.jsx(_n,{fileContent:Y,fileSize:S,url:e,fileName:M});case"html":return t.jsx(Xn,{fileContent:Y,fileSize:S,url:e,fileName:M});case"xml":return t.jsx(Kn,{fileContent:Y,fileSize:S,url:e,fileName:M});case"code":return t.jsx(qn,{fileContent:Y,fileSize:S,url:e,fileName:M});case"image":return t.jsx(eM,{url:e,fileName:M});case"video":return t.jsx(tM,{url:e,fileName:M});case"audio":return t.jsx(nM,{url:e,fileName:M});case"pdf":return t.jsx(MM,{pdfBlobUrl:z,pdfLoading:N,pdfError:g,url:e,fileName:M});case"office":return t.jsx(lM,{url:e});case"zip":return t.jsx(sM,{zipFiles:y,zipLoading:d,zipError:j,selectedZipFile:I,zipFileContent:w,onFileClick:E,url:e});case"unknown":default:return t.jsx(zM,{url:e})}};return t.jsxs("div",{className:`document-viewer ${s||""}`,style:i,children:[r&&t.jsxs("div",{className:"document-viewer-toolbar",children:[t.jsxs("div",{className:"document-viewer-toolbar-meta",children:[t.jsx("span",{className:"document-viewer-toolbar-name",title:J,children:J}),t.jsx("span",{className:"document-viewer-toolbar-size",children:re})]}),t.jsxs(k.Space,{size:8,wrap:!0,children:[t.jsx(k.Button,{icon:t.jsx(Ae.DownloadOutlined,{}),size:"small",href:e,target:"_blank",rel:"noopener noreferrer",download:M||void 0,children:"下载"}),t.jsx(k.Dropdown.Button,{size:"small",icon:t.jsx(Ae.CopyOutlined,{}),menu:{items:B,onClick:ue},disabled:f,loading:L,onClick:Z,children:"复制"})]})]}),t.jsx("div",{className:"document-viewer-body",children:ae()})]})},lM=({url:n})=>{const e=`https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(n)}`;return t.jsxs("div",{className:"document-viewer-office",children:[t.jsx("iframe",{src:e,className:"document-viewer-iframe",title:"Office Document Preview"}),t.jsx("div",{className:"document-viewer-fallback",children:t.jsx(k.Alert,{message:"预览可能不可用",description:t.jsx("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:"点击下载文件"}),type:"info",showIcon:!0})})]})},zM=({url:n})=>t.jsx("div",{className:"document-viewer-unknown",children:t.jsx("iframe",{src:n,className:"document-viewer-iframe",title:"File Preview"})}),Vt=aM;const Ne=n=>{var e;return t.jsx("button",ie(v({},n),{className:`g-icon-btn disabled ${(e=n==null?void 0:n.className)!=null?e:""}`}))},jM=n=>{var x,L;const e=o.useRef(null),{className:M,headerClassName:s,style:i,visible:r,mode:c="normal",header:l,icons:a={collapseButton:t.jsx(se,{type:"icon-yincang"}),expandButton:t.jsx(se,{type:"icon-yincang"}),fullscreenButton:t.jsx(se,{type:"icon-suofang"}),exitFullscreenButton:t.jsx(se,{type:"icon-suofang"})},extraButtons:z=[],onNormalize:N,onMinimize:g,onMaximize:y}=n,[d,j]=o.useState(c==="max"),[I,w]=o.useState(c==="min"),E=o.useRef(null),[h,m]=o.useState(c);o.useEffect(()=>{j(c==="max"),w(c==="min"),m(c)},[c]);const p=()=>{j(!d),m(d?"normal":"max"),d?N&&N():y&&y()},O=()=>{w(!I),m(I?"normal":"min"),I?N&&N():g&&g()};o.useEffect(()=>{E.current&&d&&(E.current.style.transform="none")},[d]);const Y=(L=n.fullScreenContainer)!=null?L:(x=e.current)==null?void 0:x.parentElement,D=Y==null?void 0:Y.getBoundingClientRect(),S={position:"fixed",top:D==null?void 0:D.y,left:D==null?void 0:D.x,width:I?0:D==null?void 0:D.width,height:D==null?void 0:D.height};return t.jsxs("div",{className:"g-expandable-pannel-wrap",style:v({visibility:r!==!1?"visible":"hidden",position:d&&!I?"absolute":"unset"},d?S:null),ref:e,children:[!I&&t.jsxs("div",{className:`g-expandable-pannel ${d?"full":""} `,style:v({},i),children:[l!=null?l:t.jsx("div",{className:`g-expandable-pannel-header ${s!=null?s:""}`,children:t.jsx(Ne,{onClick:p,children:d?a.exitFullscreenButton:a.fullscreenButton})}),t.jsx("div",{className:"g-expandable-pannel-body",children:n.children})]}),t.jsx("div",{className:`g-expandable-pannel-expand-bar ${I?"collapsed":"expaned"} ${s!=null?s:""}`,children:t.jsx(Ne,{onClick:O,children:I?a.expandButton:a.collapseButton})})]})};const NM={stroke:"rgba(255, 77, 79, 0.25)",strokeWidth:1},$t=n=>{const{style:e,passes:M,scale:s,activePassId:i,passStyle:r,activePassStyle:c}=n;return t.jsx("svg",{className:"pass-map",style:e,children:M.map((l,a)=>{var N;const z=l.id===i?c:NM;return t.jsx("g",{children:t.jsx("polygon",{points:(N=l.points)==null?void 0:N.map(g=>`${g.x*s} ${g.y*s}`).join(","),style:v(v(v({},r),l.passStyle),z)})},a)})})};const uM=n=>{var g,y,d,j;const N=n,{children:e,open:M,point:s,key:i,style:r}=N,c=Ye(N,["children","open","point","key","style"]),[l,a]=o.useState(M&&s.tooltipOpen!==void 0?s.tooltipOpen:void 0),z=o.useRef(null);return o.useEffect(()=>{var E,h;if(!s.tooltipRender||!z.current)return;const I=s.tooltipRender(s);if(typeof I=="string"||typeof I=="number"){z.current.innerText=I.toString();return}const w=(E=z.current)==null?void 0:E.firstChild;w?w.replaceWith(I):(h=z.current)==null||h.appendChild(I),console.log("tooltip inner text",s.id),console.log(new Date().valueOf())},[s.tooltipRender,l]),o.useEffect(()=>{a(s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0)},[s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0]),console.log("render PointTooltip",s.id),console.log(new Date().valueOf()),t.jsx(Qt,ie(v({},c),{autoAdjustOverflow:!1,placement:"top",open:s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0,onOpenChange:I=>{var h,m;if(s.tooltipOpen||a(I),console.log("tooltip inner text",s.id),console.log(new Date().valueOf()),!s.tooltipRender||!z.current)return;const w=s.tooltipRender(s);if(typeof w=="string"||typeof w=="number"){z.current.innerText=w.toString();return}const E=(h=z.current)==null?void 0:h.firstChild;E?E.replaceWith(w):(m=z.current)==null||m.appendChild(w)},color:((g=s.tooltipStyle)==null?void 0:g.backgroundColor)||((y=s.tooltipStyle)==null?void 0:y.backgroundImage)||((j=(d=s.tooltipStyle)==null?void 0:d.background)==null?void 0:j.toString()),title:t.jsx("div",{ref:z},i),overlayInnerStyle:s.tooltipStyle,destroyTooltipOnHide:!0,style:v({zIndex:9},r),motion:{forceRender:!0},children:e}))},gM=uM,dM={attributes:!0,characterData:!0},yM=n=>{const e=o.useRef(null),{point:M,open:s,id:i,x:r,y:c,r:l,active:a=!1,hidden:z=!1,onPointClick:N,getTooltipContainer:g}=n,[y,d]=o.useState(n.style),[j,I]=o.useState(!0);o.useEffect(()=>{const h=gn.diff(y,n.style);Object.keys(h).length&&d(n.style)},[n.style]);const w=o.useMemo(()=>t.jsx("circle",{id:`mark-${i}`,className:"point point-active",cx:r,cy:c,r:l,ref:e,style:y,onClick:()=>N&&N(M)}),[r,c,l,y,a]),E=o.useMemo(()=>{const h=dn(()=>{I(!0),console.log("show tooltip",M.id),console.log(new Date().valueOf())},200);return new MutationObserver(()=>{console.log("circle is changed"),console.log("hide tooltip",M.id),console.log(new Date().valueOf()),I(!1),h()})},[]);return o.useEffect(()=>{if(!(!e.current||!M.tooltipRender))return E.observe(e.current,dM),()=>{e.current&&E.disconnect()}},[r,c,l]),z?t.jsx(t.Fragment,{}):M.tooltipRender&&j?t.jsx(gM,{open:s,point:M,getPopupContainer:g,children:w}):w},Et=yM,Ht=n=>{var Qe;const{width:e,height:M,points:s,scale:i,pointSize:r=6,direction:c,activePointId:l,style:a,lineStyle:z,pointStyle:N,directionStyle:g,marks:y,resizable:d,transform:j,keepRatio:I=!1,onPointClick:w,onTransform:E,onPointsChange:h,onCancelResize:m,actions:p=!0,setIsSaved:O,isSaved:Y=!1}=n,D=o.useRef(null),S=o.useRef(null),x=o.useRef(null),L=o.useRef(null),b=o.useRef(null),[J,re]=o.useState(null),[T,f]=o.useState((j==null?void 0:j.scale)||[1,1]),[B,Z]=o.useState((j==null?void 0:j.rotate)||0),[V,ue]=o.useState((j==null?void 0:j.translate)||[0,0,0,0]),[ae,G]=o.useState([]),[C,te]=o.useState(),[ze,K]=o.useState(),[q,F]=o.useState(d),[ye,$]=o.useState([]),[_,De]=o.useState(s),[Te,Fe]=o.useState(!0),[ne,me]=o.useState(),[oe,ge]=o.useState(),[Se,Ge]=o.useState(typeof p!="boolean"?p:p===!0?{}:null),fe=(r-r/4*.9)*2/i;o.useEffect(()=>{Ge(typeof p!="boolean"?p:p===!0?{}:null)},[p]);const Ze=(u,A)=>{if(!u.length)return;let W;return u.map(U=>{var ce;if(!W){W=U;return}const H=t.jsx("line",{x1:Number.isFinite(W.x)?W.x:0,y1:Number.isFinite(W.y)?W.y:0,x2:Number.isFinite(U.x)?U.x:0,y2:Number.isFinite(U.y)?U.y:0,style:ie(v(v({stroke:"#1F66E1BF"},z),W.lineStyle),{strokeWidth:Number((z==null?void 0:z.strokeWidth)||((ce=W.lineStyle)==null?void 0:ce.strokeWidth)||2)/A})},U.id);return W=U,H})},Oe=new ResizeObserver(()=>{D.current&&(S.current&&(S.current.style.transform="none",S.current.style.width="auto",S.current.style.height="100%"),S.current&&(S.current.style.width="100%",S.current.style.height="100%"))});o.useEffect(()=>{var u;ge((u=x.current)==null?void 0:u.getBoundingClientRect())},[a==null?void 0:a.left,a==null?void 0:a.top,a==null?void 0:a.width,a==null?void 0:a.height,i]),o.useEffect(()=>{F(d)},[d]),o.useEffect(()=>{De(s||[])},[s,ye]),o.useEffect(()=>{var u;(!((u=x.current)!=null&&u.style.transform)||x.current.style.transform==="none")&&(f((j==null?void 0:j.scale)||[1,1]),Z((j==null?void 0:j.rotate)||0),ue((j==null?void 0:j.translate)||[0,0,0,0]))},[(Qe=x.current)==null?void 0:Qe.style.transform]),o.useEffect(()=>{!x.current||q||(x.current.style.transform="none",f((j==null?void 0:j.scale)||[1,1]),Z((j==null?void 0:j.rotate)||0),ue((j==null?void 0:j.translate)||[0,0,0,0]))},[q]),o.useEffect(()=>{if(D.current)return Oe.observe(D.current),()=>{D.current&&Oe.unobserve(D.current)}},[D.current]),o.useEffect(()=>{!J||!j||(J.throttleDragRotate=j.rotate,J.throttleScale=j.scale,J.throttleDrag=j.translate)},[J,j]),o.useEffect(()=>{te(_==null?void 0:_.find(A=>A.id===l));let u=_.map(A=>{var ce,Ue,he;const W=A.x,Q=A.y,U=A.id===l,H=r*(U?1.2:1)/i;return t.jsx(Et,{open:Te,id:A.id,point:A,getTooltipContainer:()=>b.current||document.body,x:W,y:Q,r:N!=null&&N.r||(ce=A.pointStyle)!=null&&ce.r?Number((N==null?void 0:N.r)||((Ue=A.pointStyle)==null?void 0:Ue.r))/i:H/2,hidden:U,style:ie(v(v({stroke:"#1F66E1BF",fill:"#fff",cursor:w?"pointer":"unset"},N),A.pointStyle),{strokeWidth:Number(((he=A.pointStyle)==null?void 0:he.strokeWidth)||2)/i,r:void 0}),onPointClick:w},A.id)})||[];G(u)},[_,l,i,Te]),o.useEffect(()=>{var U,H,ce;if(!C){K(void 0);return}const u=C.x,A=C.y,W=C.id===l,Q=r*(W?1.2:1)/i;K(t.jsxs("g",{children:[c!==void 0&&t.jsx("circle",{id:`mark-${C.id}`,cx:u,cy:A,r:`${fe}`,strokeDasharray:fe*2*Math.PI,strokeDashoffset:fe*2*Math.PI/360*(360-60),style:v({transform:`rotate(${c+240}deg)`,transformOrigin:`${u}px ${A}px`,strokeWidth:fe*2,stroke:"#1F66E1BF",fill:"transparent",pointerEvents:"none"},g)}),t.jsx(Et,{open:Te,point:C,getTooltipContainer:()=>b.current||document.body,x:u,y:A,r:(U=C.pointStyle)!=null&&U.r?Number((H=C.pointStyle)==null?void 0:H.r)/i:Q/2,style:ie(v(v({stroke:"#1F66E1BF",fill:"#fff"},N),C.pointStyle),{strokeWidth:Number(((ce=C.pointStyle)==null?void 0:ce.strokeWidth)||2)/i,r:void 0}),onPointClick:w},C.id)]},C.id))},[C,c,i,Te]),o.useEffect(()=>{x.current&&setTimeout(()=>{var u,A;me((u=x.current)==null?void 0:u.getBBox()),ge((A=x.current)==null?void 0:A.getBoundingClientRect())},100)},[j]),o.useEffect(()=>{var A,W;if(!x.current)return;me((A=x.current)==null?void 0:A.getBBox()),ge((W=x.current)==null?void 0:W.getBoundingClientRect()),new ResizeObserver(()=>{var Q,U;me((Q=x.current)==null?void 0:Q.getBBox()),ge((U=x.current)==null?void 0:U.getBoundingClientRect())}).observe(x.current)},[x.current]),o.useEffect(()=>{Y&&(je(),O&&O(!1))},[Y]);const je=()=>{var Q;const u=(Q=L.current)==null?void 0:Q.getBoundingClientRect();if(!u){h&&h(s),F(!1);return}const A=ye.map(U=>{const H=U.getBoundingClientRect();return{id:U.id.split("-")[1],x:(H.x+H.width/2-u.x)/i,y:(H.y+H.height/2-u.y)/i}}),W=s.map(U=>{const H=A==null?void 0:A.find(ce=>ce.id.toString()===U.id.toString());return H?v(v({},U),H):U});De(W),h&&h(W.length?W.map((U,H)=>({id:U.id,x:U.x,y:U.y,order:H})):s),F(!1)},Le=u=>u.map(A=>{const{render:W,renderData:Q}=A,U=A.x*i,H=A.y*i;return t.jsx(Qt,{className:"track-map-marker-tooltip",placement:"top",title:W(Q,v({},A)),open:!!Q,style:{zIndex:9999},children:t.jsx("circle",{id:`mark-${A.id}`,cx:U,cy:H,r:r/2,style:{stroke:"#1F66E100",strokeWidth:2,fill:"#fff0"},children:t.jsx("span",{children:Q.label})})},A.id)}),ve=ne?{x:ne.x+ne.width/2,y:ne.y+ne.height/2}:{x:0,y:0},be=_.reduce((u,A)=>[Math.min(u[0],A.x),Math.max(u[1],A.x)],[0,0]),ke=_.reduce((u,A)=>[Math.min(u[0],A.y),Math.max(u[1],A.y)],[0,0]);return t.jsx(k.ConfigProvider,{prefixCls:"g-rc",children:t.jsxs("div",{className:"track-map",style:{width:"100%",height:"100%"},ref:D,children:[t.jsx("svg",{style:a,ref:L,viewBox:`0 0 ${e} ${M}`,children:t.jsxs("g",{ref:x,x:be[0],y:ke[0],width:be[1]-be[0],height:ke[1]-ke[0],style:{transformOrigin:`${ve.x}px ${ve.y}px`,cursor:q?"url('./images/icon-move.svg') 16 16, move":"unset",transform:j&&j.scale?`${j.translate?` translate(${j.translate[0]}px, ${j.translate[1]}px)`:""} rotate(${j.rotate}rad)${j.scale?` scale(${j.scale[0]}, ${j.scale[1]})`:""}`:"none"},children:[ne&&t.jsx("rect",{x:ne.x,y:ne.y,width:ne.width,height:ne.height,fill:"#ff000004"}),t.jsx("g",{className:"track-lines",children:Ze((_==null?void 0:_.filter(u=>u.order>-1))||[],i)}),t.jsxs("g",{className:"track-points",children:[ae,ze]}),y&&t.jsx("g",{children:Le(y)})]})}),t.jsx("div",{className:"tooltip-container",ref:b,style:{position:"fixed",top:(oe==null?void 0:oe.y)||0,left:(oe==null?void 0:oe.x)||0,width:(oe==null?void 0:oe.width)||0,height:(oe==null?void 0:oe.height)||0}}),q&&x.current&&L.current&&t.jsx(un,{className:"path-moveable-control-box",ref:u=>{re(u)},keepRatio:I,target:[x.current],draggable:!0,scalable:!0,rotatable:!0,padding:{left:10,right:10,top:10,bottom:10},onDrag:({target:u,beforeDelta:A,beforeDist:W,left:Q,top:U,right:H,bottom:ce,delta:Ue,dist:he,transform:pe,clientX:nt,clientY:Mt})=>{ue(he),u.style.transform=pe},onDragStart:({inputEvent:u})=>{u.stopPropagation()},onDragEnd:()=>{var A;const u=(A=x.current)==null?void 0:A.getElementsByTagName("circle");$(u!=null&&u.length?[...u]:[]),E&&E({rotate:B,translate:V,scale:T},u!=null&&u.length?[...u]:[],L.current||void 0)},renderDirections:I?["nw","ne","sw","se"]:["n","w","e","s","nw","ne","sw","se"],onScale:({target:u,scale:A,transform:W})=>{var U;f(A),u.style.transform=W;const Q=(U=x.current)==null?void 0:U.getElementsByTagName("circle");$(Q!=null&&Q.length?[...Q]:[]),E&&E({rotate:B,translate:V,scale:A},Q!=null&&Q.length?[...Q]:[],L.current||void 0)},onRotate:({target:u,dist:A,transform:W})=>{var U;Z(A),u.style.transform=W;const Q=(U=x.current)==null?void 0:U.getElementsByTagName("circle");$(Q!=null&&Q.length?[...Q]:[]),E&&E({rotate:A,translate:V,scale:T},Q!=null&&Q.length?[...Q]:[],L.current||void 0)},onRenderEnd:()=>{var A,W,Q;const u=(A=x.current)==null?void 0:A.getElementsByTagName("circle");E&&E({rotate:B,translate:V,scale:T},u!=null&&u.length?[...u]:[],L.current||void 0),me((W=x.current)==null?void 0:W.getBBox()),ge((Q=x.current)==null?void 0:Q.getBoundingClientRect())}})]})})},Ct=n=>{const{name:e,type:M,style:s,className:i,children:r,onConfirm:c}=n,[l,a]=o.useState(null);return o.useEffect(()=>{if(!n.confirm){a(null);return}if(n.confirm===!0){a({text:`确认${e}吗?`});return}a(n.confirm)},[n.confirm]),l?t.jsx(yn,{rootClassName:"track-map-popconfirm",okText:"确定",cancelText:"取消",title:l.text,trigger:"click",onConfirm:c,children:t.jsx(Xe,{className:i,type:M,style:v({},s),children:r||e})}):t.jsx(Xe,{className:i,type:M,onClick:c,children:r||e})};let St;const DM=o.forwardRef((n,e)=>{var ot,it,rt,ct,at,lt,zt,jt,Nt,ut,gt,dt,yt,Dt,It,xt,Tt,wt,At,mt,ft;const{url:M,points:s,pointSize:i,direction:r,activePointId:c,lineStyle:l,pointStyle:a,directionStyle:z,onPointClick:N,passes:g,activePassId:y,passStyle:d,activePassStyle:j,marks:I,draggable:w=!1,offsetEdge:E=[50,50,50,50],zoomable:h=!1,zoomStep:m=.02,zoomMax:p=2,zoomMin:O=0,onImageLoad:Y,trackEditable:D,trackEditing:S,keepRatio:x,transform:L,onTrackEditingChange:b,onTransform:J,onPointsChange:re,actions:T=!0}=n,f=o.useRef({}),B=o.useRef({}),[Z,V]=o.useState(0),[ue,ae]=o.useState(0),[G,C]=o.useState(1),[te,ze]=o.useState(0),[K,q]=o.useState(0),[F,ye]=o.useState(0),[$,_]=o.useState(0),[De,Te]=o.useState(!1),[Fe,ne]=o.useState(!1),[me,oe]=o.useState(),[ge,Se]=o.useState({x:0,y:0}),[Ge,fe,Ze,Oe]=E,[je,Le]=o.useState(S),[ve,be]=o.useState(1),[ke,Qe]=o.useState(!1),[u,A]=o.useState(typeof T!="boolean"?T:T===!0?{}:null);o.useEffect(()=>{be(Math.round(G*100)/100)},[G]),o.useEffect(()=>{Le(S)},[S]),o.useEffect(()=>{St=new ResizeObserver(W),St.observe(B.current);const R=P=>(P.preventDefault(),!1);return B.current.addEventListener("wheel",R),()=>{B.current.removeEventListener("wheel",R)}},[]);const W=()=>{if(!B.current)return;const R=B.current.clientWidth,P=B.current.clientHeight,ee=f.current.naturalWidth,Me=f.current.naturalHeight,we=R/ee,Ve=P/Me,Be=we<Ve?we:Ve,Kt=(R-ee*Be)/2,qt=(P-Me*Be)/2,en=ee*Be,tn=Me*Be;V(R),ae(P),C(Be),ze(Kt),q(qt),ye(en),_(tn),Te(!0),Y&&Y(f.current)},Q=()=>{if(!h||G>=p)return;let R=G*(1+m),P=m;R>=p&&(R=p,P=p/G-1),ze(te-F*(P/2)),q(K-$*(P/2)),ye(F+F*P),_($+$*P),C(R),pe()},U=()=>{if(!h||G<=O)return;let R=G*(1-m),P=m;R<=O&&(R=O,P=1-O/G),ze(te-F*(-P/2)),q(K-$*(-P/2)),ye(F+F*-P),_($+$*-P),C(R),pe()};o.useImperativeHandle(e,()=>({zoomIn:Q,zoomOut:U}));const H=R=>(R.nativeEvent.deltaY<0?Q():U(),!1),ce=R=>{ne(!0);const{pageX:P,pageY:ee}=R;Se({x:P,y:ee})},Ue=R=>{if(!Fe)return!1;const{pageX:P,pageY:ee}=R,Me=P-ge.x,we=ee-ge.y;Se({x:P,y:ee}),ze(te+Me),q(K+we),pe()},he=()=>{ne(!1)};window.onmouseup=()=>{ne(!1)};const pe=()=>{te<-F+Oe&&ze(-F+Oe),K<-$+Ge&&q(-$+Ge),te>Z-fe&&ze(Z-fe),K>ue-Ze&&q(ue-Ze)},nt=()=>{Le(!je),b&&b(!je)},Mt=R=>{const{touches:P}=R;if(console.log("onTouchStart"),console.log(P),ne(!0),P.length<2){const{clientX:ee,clientY:Me}=P[0];Se({x:ee,y:Me})}else oe(P)},Jt=R=>{if(!Fe||!R.touches)return!1;const{clientX:P,clientY:ee}=R.touches[0];if(R.touches.length<2){const Me=P-ge.x,we=ee-ge.y;Se({x:P,y:ee}),ze(te+Me),q(K+we),pe()}else{console.log("onTouchMove"),console.log(R.touches);const Me=R.touches,we=st(Me[0],Me[1]),Ve=st(me[0],me[1]);we>Ve?Q():U()}},st=(R,P)=>{const ee=P.pageX-R.pageX,Me=P.pageY-R.pageY;return Math.sqrt(ee*ee+Me*Me)};o.useEffect(()=>{A(typeof T!="boolean"?T:T===!0?{}:null)},[T]);const _t=()=>{Le(!1),b&&b(!1)},Xt=()=>{Qe(!0)};return t.jsxs("div",{className:"image-map",ref:B,onMouseDown:w?ce:void 0,onMouseMove:w?Ue:void 0,onMouseUp:w?he:void 0,onWheel:w?H:void 0,onTouchStart:w?Mt:void 0,onTouchMove:w?Jt:void 0,onTouchEnd:w?he:void 0,children:[t.jsx("img",{className:"img",style:{position:"absolute",left:te,top:K,width:F,height:$},ref:f,onLoad:W,src:M,alt:""}),De&&(g==null?void 0:g.length)&&t.jsx($t,{style:{position:"absolute",left:te,top:K,width:F,height:$},passes:g,scale:G,activePassId:y,passStyle:d,activePassStyle:j}),De&&!!(s!=null&&s.length)&&t.jsx(Ht,{style:{position:"absolute",left:te,top:K,width:F,height:$,overflow:"visible"},width:f.current.naturalWidth,height:f.current.naturalHeight,transform:L,movable:je,resizable:je,points:s,scale:G,pointSize:i,direction:r,activePointId:c,lineStyle:l,pointStyle:a,directionStyle:z,keepRatio:x,marks:I,onPointClick:N,onTransform:J,onPointsChange:R=>{re&&re(R),Le(!1),b&&b(!1)},onCancelResize:()=>{Le(!1),b&&b(!1)},actions:T,setIsSaved:Qe,isSaved:ke}),D&&t.jsxs("div",{className:"image-map-toolbar",children:[t.jsx(Ft,{className:"zoom-controller",value:ve,min:O,max:p,step:m,showText:!0,onChange:R=>{ve>R?U():Q()}}),D&&(je&&T?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"line"}),t.jsxs("div",{className:"editing-controller",children:[t.jsx(Ct,{children:typeof T!="boolean"&&((ot=T.cancelButton)==null?void 0:ot.children)||void 0,name:typeof T!="boolean"&&((it=T.cancelButton)==null?void 0:it.text)||"退出编辑",className:`editing-controller${je?" active":""} ${typeof T!="boolean"&&((rt=T.cancelButton)==null?void 0:rt.className)||""}`,confirm:((ct=u==null?void 0:u.cancelButton)==null?void 0:ct.confirm)===!0?{text:"调整记录将不被保存"}:(at=u==null?void 0:u.cancelButton)!=null&&at.confirm?u.cancelButton.confirm:!1,style:typeof T!="boolean"&&((lt=T.cancelButton)==null?void 0:lt.style)||void 0,onConfirm:_t}),t.jsx(Ct,{type:"primary",children:typeof T!="boolean"&&((zt=T.okButton)==null?void 0:zt.children)||t.jsxs("div",{className:"save-detail",children:[t.jsx(Ae.SaveOutlined,{}),t.jsx("span",{children:"保存"})]}),name:typeof T!="boolean"&&((jt=T.okButton)!=null&&jt.confirm)?((Nt=T.okButton)==null?void 0:Nt.text)||"保存":"确定",className:`editing-controller${je?" active":""} ${typeof T!="boolean"&&((ut=T.okButton)==null?void 0:ut.className)||""}`,confirm:((gt=u==null?void 0:u.okButton)==null?void 0:gt.confirm)===!0?{text:"调整记录保存后,将改变当前巡检数据状态"}:(dt=u==null?void 0:u.okButton)!=null&&dt.confirm?u.okButton.confirm:!1,style:typeof T!="boolean"&&((yt=T.okButton)==null?void 0:yt.style)||void 0,onConfirm:Xt})]})]}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"line"}),t.jsx("div",{className:"moveable-controller",children:t.jsx(Xe,{title:je?typeof T!="boolean"&&((Dt=T.editButton)==null?void 0:Dt.exitTitleText)||"退出编辑":typeof T!="boolean"&&((It=T.editButton)==null?void 0:It.titleText)||"调整轨迹",className:`moveable-controller-btn${je?" active":""} ${typeof T!="boolean"&&((xt=T.editButton)==null?void 0:xt.className)||""}`,style:typeof T!="boolean"&&((Tt=T.editButton)==null?void 0:Tt.style)||void 0,onClick:nt,children:typeof T!="boolean"?(wt=T.editButton)!=null&&wt.children?(At=T.editButton)==null?void 0:At.children:(mt=T.editButton)!=null&&mt.text?t.jsx("span",{children:(ft=T.editButton)==null?void 0:ft.text}):t.jsxs("div",{className:"btn-change",children:[t.jsx(se,{type:"icon-tiaozheng"}),t.jsx("span",{children:"修改"})]}):void 0})})]}))]})]})}),IM=n=>{const{className:e,style:M,length:s=0,current:i=0,speed:r=2e3,play:c=!1,loop:l=!1,loading:a=!1,onChange:z}=n,[N,g]=o.useState(c),[y,d]=o.useState(i),[j,I]=o.useState(null);o.useEffect(()=>{d(i)},[i]),o.useEffect(()=>{g(c)},[c]),o.useEffect(()=>{N?w():y>=s-1&&(d(0),z(0))},[N]),o.useEffect(()=>{N&&(a?j&&(clearTimeout(j),I(null)):I(setTimeout(w,r)))},[a]);const w=()=>{d(m=>m<s-1?(z(m+1),m+1):l?(z(0),0):(h(),m))},E=()=>{y>=s-1&&d(0),g(!0)},h=()=>{g(!1),j&&(clearTimeout(j),I(null))};return t.jsxs("div",{className:e,style:M,children:[t.jsx(Ne,{disabled:y<=0||a,onClick:()=>{z(0),d(0)},children:t.jsx(se,{type:"icon-diyige"})}),t.jsx(Ne,{disabled:y<=0||a,onClick:()=>{z(y-1),d(y-1)},children:t.jsx(se,{type:"icon-qianyige"})}),N?t.jsx(Ne,{onClick:h,children:t.jsx(se,{type:"icon-zanting"})}):t.jsx(Ne,{disabled:y>=s-1||a,onClick:E,children:t.jsx(se,{type:"icon-bofang"})}),t.jsx(Ne,{disabled:y>=s-1||a,onClick:()=>{z(y+1),d(y+1)},children:t.jsx(se,{type:"icon-xiayige"})}),t.jsx(Ne,{disabled:y>=s-1||a,onClick:()=>{z(s-1),d(s-1)},children:t.jsx(se,{type:"icon-zuihouyige"})})]})};const xM=16,TM=16,wM=-1,AM=1,mM=-1,fM=1,LM=n=>{const e=n||window.event,M=n.target||n.srcElement;if(e.offsetX)return e.offsetX;{const s=M.getBoundingClientRect();return e.clientX-s.left}},hM=n=>{const e=n||window.event,M=n.target||n.srcElement;if(e.offsetY)return e.offsetY;{const s=M.getBoundingClientRect();return e.clientY-s.top}},YM=n=>{const e=n.split("-");let M=e.length>1||e[0]==="left"||e[0]==="right"?e[0]:"center",s=e.length>1?e[1]:e[0]==="top"||e[0]==="bottom"?e[0]:"middle";return[M,s]},pM=(n,e,M=[xM,TM])=>{const s=()=>{switch(n[0]){case"left":return wM;case"right":return AM;default:return 0}},i=()=>{switch(n[1]){case"top":return mM;case"bottom":return fM;default:return 0}},r=()=>{switch(n[0]){case"left":return-((e==null?void 0:e.width)||0)-M[0]-2;case"right":return 0;default:return-((e==null?void 0:e.width)||0)/2}},c=()=>{switch(n[1]){case"top":return-M[1]-2;case"bottom":return(e==null?void 0:e.height)||0;default:return((e==null?void 0:e.height)||0)/2}};return{x:M[0]*s()+r(),y:M[1]*i()+c()}},EM=n=>{var p;const{children:e,defaultPosition:M,forElement:s,placement:i="right-bottom",curserPosition:r,className:c,style:l}=n,a=o.useRef(null),z=o.useRef(null),N=s||document.body,g=YM(i),y=pM(g,(p=z.current)==null?void 0:p.getBoundingClientRect(),r),[d,j]=o.useState(n.visible||!0),[I,w]=o.useState(M||{x:-2e3,y:-2e3});o.useEffect(()=>(N.addEventListener("mouseenter",E),N.addEventListener("mousemove",m),N.addEventListener("mouseleave",h),()=>{N.removeEventListener("mouseenter",E),N.removeEventListener("mousemove",m),N.removeEventListener("mouseleave",h)}),[N]),o.useEffect(()=>{j(n.visible||!0)},[n.visible]);const E=()=>{j(!0)},h=()=>{j(!1)},m=O=>{let Y=LM(O)+y.x;const D=hM(O)+y.y;w({x:Y,y:D})};return t.jsx("div",{className:`g-mouse-tip ${g.join(" ")}`,ref:a,style:{left:`${I.x}px`,top:`${I.y}px`,visibility:`${d?"visible":"hidden"}`},children:t.jsx("div",{className:`g-mouse-tip-content ${c}`,style:l,ref:z,children:e})})},Ft=n=>{const{className:e,style:M,value:s,min:i,max:r,step:c=1,onChange:l,showText:a=!1}=n,[z,N]=o.useState(s!=null?s:0);return o.useEffect(()=>{N(s!=null?s:0)},[s]),t.jsxs("div",{className:e,style:M,children:[t.jsx(Ne,{disabled:!!(r&&r<=z),onClick:()=>{l(z+c),N(z+c)},children:t.jsx(se,{type:"icon-fangda"})}),a&&t.jsxs("div",{style:{width:40,textAlign:"center"},children:[Math.round(z*100),"%"]}),t.jsx(Ne,{disabled:!!(i&&i>=z),onClick:()=>{l(z-c),N(z-c)},children:t.jsx(se,{type:"icon-suoxiao"})})]})};function CM(n,e){var M=document.getElementsByTagName("body")[0],s=document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("src",n),M.appendChild(s),s.onload=e}function SM(n){const[e,M]=o.useState(!1),[s,i]=o.useState(),[r,c]=o.useState(),[l,a]=o.useState(!1),[z,N]=o.useState(),[g,y]=o.useState([]),[d,j]=o.useState(0);function I(D){if(D.viewType!="3DView"){console.error("bimface view type is not 3DView");return}M(!0),z&&w(D.viewToken)}const w=D=>{if(!s){let S=z,x=new window.Glodon.Bimface.Application.WebApplication3DConfig;x.domElement=S,x.Toolbars=[];const L=new window.Glodon.Bimface.Application.WebApplication3D(x);L.addView(D),i(L);const b=L.getViewer();b.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded,function(){window.onresize=function(){b.resize(document.documentElement.clientWidth,document.documentElement.clientHeight-40)},b.setCameraAnimation(!1),b.render(),b.setNavigationMode(window.Glodon.Bimface.Viewer.NavigationMode3D.Walk),b.render(),a(!0)}),b.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ModelAdded,()=>{j(J=>J+1)}),c(b)}};o.useEffect(()=>{l&&g.forEach(D=>{r.loadModel({viewToken:D})})},[l,g]),o.useEffect(()=>{},[d]),o.useEffect(()=>{if(!z||!g.length)return;const D=g.pop();D&&h(D),y([...g])},[z]);function E(D){console.log(D)}function h(D){j(0);const S=()=>{let x=new window.BimfaceSDKLoaderConfig;x.viewToken=D,window.BimfaceSDKLoader.load(x,I,E)};if(!window.BimfaceSDKLoaderConfig){CM("https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js",S);return}S()}const m=(D,S)=>{if(!r||!l||!z){console.error("BIMFace viewer is not ready.");return}const x=z.getElementsByTagName("canvas")[0],L=document.createElement("canvas");L.width=x.width,L.height=x.height;const b=L.getContext("2d");return b&&(b.fillStyle="#fff",b.fillRect(0,0,L.width,L.height),b.drawImage(x,0,0,x.width,x.height)),L.toDataURL(D,S)},p=D=>{if(!r){console.error("viewer is not ready");return}if(d&&g.length+1===d||!g.length)r.getAllModels().map(L=>r._models[L.modelId]).forEach(L=>{let b=new window.Glodon.Web.Graphics.Color(D);L.overrideAllComponentsColor&&L.overrideAllComponentsColor(b)}),r.enableWireframe(!0),r.getLightManager().getAllFillLights().forEach(L=>L.enableLight(!0)),r.render();else{console.error("viewer is not render complete");return}},O=D=>{if(r)if(d&&g.length+1===d||!g.length)r.getAllModels().map(L=>r._models[L.modelId]).forEach(L=>{Object.keys(D).forEach(b=>{let J=[{categoryId:b}];L.getComponentsByConditions(J,function(re){let T=new window.Glodon.Web.Graphics.Color(D[b]);L.overrideComponentsColorById&&L.overrideComponentsColorById(re,T)},function(){window.alert("error")})})}),r.enableWireframe(!1),r.getLightManager().getAllFillLights().forEach(L=>L.enableLight(!1)),r.render();else{console.error("viewer is not render complete");return}};function Y(D,S,x){const L=r.getModel();L==null||L.getBoundingBox(({currentBoundingBox:b})=>{const J=b.max.x-b.min.x,re=b.max.y-b.min.y,T=J/re;let f,B;T>1?(f=S.width,B=f/T):(B=S.height,f=B*T);const Z=document.createElement("div");Z.setAttribute("style",`width: ${f}px;height: ${B}px`),document.body.appendChild(Z);const V=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewerConfig;V.domElement=Z;const ue=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewer(V),ae=new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMapConfig;ae.viewer=r,ae.mapViewer=ue,ae.type="SetProfile",ae.height=D,ae.successCallback=G=>{setTimeout(()=>{const C=new Image;C.src=Z.getElementsByTagName("image")[0].getAttribute("href")||"",C.onload=()=>{x(C)}},200)},new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMap(ae)})}return{BimfaceViewer:e&&window.Glodon.Bimface.Viewer,BimfaceSection:e&&window.Glodon.Bimface.Plugins.Section,BimfaceMark:e&&window.Glodon.Bimface.Plugins.Marker3D,BimfaceViewerEvents:e&&window.Glodon.Bimface.Viewer.Viewer3DEvent,viewer:r,viewerAdded:l,sDKLoaded:e,loadedModelCount:d,loadModels:D=>{if(D!=null&&D.length||console.error("viewTokens is Empty"),!r&&z){const S=D[0];h(S)}y(D)},setContainerDom:N,getSnapshot:m,setComponentsColorByCatgryId:O,setAllComponentsColor:p,navigationMapByHeight:Y}}function OM(n){const{url:e,onScaleChange:M,onLoad:s}=n,i=o.useRef(null),r=Ut.useSize(i),c=r==null?void 0:r.width,l=r==null?void 0:r.height,[a,z]=o.useState();return o.useEffect(()=>{c&&l&&a&&M(c/a.width,c,l)},[c,l,a]),t.jsx("img",{ref:i,src:e,className:"select-none",style:{maxWidth:"100%",maxHeight:"100%",cursor:"crosshair"},alt:"",onLoad:()=>{if(i.current){s&&s(i.current);const{naturalWidth:N,naturalHeight:g}=i.current;z({width:N,height:g})}}})}function Ot(n){const{start:e,end:M}=n,{options:{lineColor:s,lineWidth:i}}=o.useContext(We);return t.jsx(t.Fragment,{children:t.jsx("line",{x1:e.x,y1:e.y,x2:M.x,y2:M.y,stroke:s!=null?s:"#FF5500",strokeWidth:i!=null?i:2})})}function vt(n){const{markRenderer:e,marker:M}=n,{point:{x:s,y:i}}=M;return t.jsxs("g",{children:[t.jsx("line",{}),t.jsx("line",{}),t.jsx("circle",{cx:s,cy:i,r:1,fill:"transparent"}),t.jsx("foreignObject",{x:s,y:i,width:0,height:0,fill:"green",className:"relative overflow-visible",children:t.jsx("div",{className:"inline-flex absolute",draggable:!0,onDragStart:()=>{},onDragEnd:()=>{},children:e&&e(M)})})]})}function bt(n){const{points:e,editing:M,options:s,onClose:i}=n,[r,c]=o.useState(!1),{options:{polygon:l}}=o.useContext(We);if(!M&&Ke(e)<=2)return null;const a=xn(e),z=e.map(({x:h,y:m})=>`${h},${m}`).join(" "),N=a?`${z} ${a.x},${a.y}`:z,{showVertexIndex:g,vertexBgColor:y,vertexTextColor:d}=l!=null?l:{},j=g?10:5,I=M||g,{hideBorder:w,backgroundColor:E}=s!=null?s:{};return t.jsxs(t.Fragment,{children:[t.jsx("polygon",{points:`${N}`,fill:E!=null?E:"rgba(255, 66, 66, 0.15)"}),!w&&t.jsx("polyline",{points:M?z:N,fill:"transparent",stroke:"#FF5500",strokeDasharray:"6 4",strokeWidth:"2"}),!w&&(e==null?void 0:e.map(({x:h,y:m},p)=>{const O=p===Ke(e)-1;return t.jsx("g",{style:{zIndex:O?1:100,cursor:"pointer",pointerEvents:O?"none":"bounding-box"},onMouseEnter:Y=>{O||c(!0)},onMouseLeave:Y=>{c(!1)},onClick:Y=>{Y.stopPropagation()},onDoubleClick:Y=>{Y.stopPropagation(),i&&i(p)},children:I&&(!O||!r)&&t.jsxs(t.Fragment,{children:[t.jsx("circle",{cx:h,cy:m,r:j,fill:y!=null?y:"#FF5500"}),g&&t.jsx("text",{x:h,y:m,"text-anchor":"middle",fill:d!=null?d:"#fff",dy:".3em",style:{cursor:"pointer",userSelect:"none"},children:p+1})]})})}))]})}const vM=He.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:Ie.assign(n=>{n.markerPoint=void 0})},ADD_MARKER:{target:"drawCompleted",actions:[Ie.assign((n,{point:e})=>{n.markerPoint=e}),"onAddMarker"]},MOUSE_MOVE:{target:"addingMarker",actions:Ie.assign((n,{point:e})=>{n.movingPoint=e})}}},drawingLine:{on:{ADD_LINE_START:{target:"drawingLine",actions:Ie.assign((n,e)=>{n.lineStart=e.point})},ADD_LINE_END:{target:"drawCompleted",actions:[Ie.assign((n,e)=>{n.lineEnd=e.point}),"onAddLine"]},MOUSE_MOVE:{target:"drawingLine",actions:Ie.assign((n,{point:e})=>{n.movingPoint=e})},RESET:{target:"drawCompleted"},CANCEL:{target:"drawCompleted"}}},drawingPolygon:{on:{CANCEL:{target:"canceled"},RESET:{target:"idle",actions:Ie.assign(n=>{n.polygonPoints=void 0})},ADD_POLYGON_POINT:{target:"drawingPolygon",actions:Ie.assign((n,{point:e})=>{var M;n.polygonPoints=(M=n.polygonPoints)!=null?M:[],n.polygonPoints.push(e)})},MOUSE_MOVE:{target:"drawingPolygon",actions:Ie.assign((n,{point:e})=>{n.movingPoint=e})},DRAW_POLYGON_COMPLETE:{target:"drawCompleted",actions:["onAddPolygon"]}}},drawCompleted:{always:{target:"idle"}},canceled:{}}});function bM(n){const{state:e,scale:M,width:s,height:i,drawOptions:r,lines:c,polygons:l,markers:a,markRenderer:z,onAddLine:N,onAddPolygon:g,onAddMarker:y,onStateChange:d}=n,[j,I]=o.useState([]),[w,E]=o.useState([]),[h,m]=o.useState([]),p=o.useRef(null),{width:O,height:Y}=Ut.useSize(p)||{};function D({x:f,y:B}){return{x:f/M,y:B/M}}function S({x:f,y:B}){return{x:f*M,y:B*M}}const[x,L]=In.useMachine(vM,{actions:{onAddMarker:He.assign(({markerPoint:f})=>(y&&f&&y(D(f)),{markerPoint:void 0,movingPoint:void 0})),onAddLine:He.assign(f=>(f.lineStart&&f.lineEnd&&N&&N(D(f.lineStart),D(f.lineEnd)),{lineEnd:void 0,lineStart:void 0,movingPoint:void 0})),onAddPolygon:He.assign(({polygonPoints:f})=>(g&&f&&f.length>2&&g(f.map(D)),{polygonPoints:void 0,movingPoint:void 0}))},services:{}});o.useEffect(()=>{var f;I((f=c==null?void 0:c.map(({id:B,start:Z,end:V})=>({id:B,start:S(Z),end:S(V)})))!=null?f:[])},[c]),o.useEffect(()=>{var f;m((f=a==null?void 0:a.map(B=>ie(v({},B),{point:S(B.point)})))!=null?f:[])},[a]),o.useEffect(()=>{var f;E((f=l==null?void 0:l.map(({id:B,points:Z,options:V})=>({id:B,points:Z.map(S),options:V})))!=null?f:[])},[l,M]),o.useEffect(()=>{d&&x.matches("idle")&&d("viewOnly")},[x.value]),o.useEffect(()=>{if(d)switch(e){case"drawingLine":L("START_DRAW_LINE");break;case"drawingPolygon":L("START_DRAW_POLYGON");break;case"addingMarker":L("START_ADD_MARKER");break}},[e]);const{lineStart:b,lineEnd:J,polygonPoints:re,movingPoint:T}=x.context;return t.jsx(We.Provider,{value:{options:r!=null?r:{}},children:t.jsx("div",{ref:p,className:"w-full h-full absolute left-0 top-0",style:{cursor:e==="viewOnly"?void 0:"crosshair",width:s,height:i},children:O&&Y&&t.jsxs("svg",{viewBox:`0 0 ${O} ${Y}`,version:"1.1",className:"absolute inset-0",onClick:f=>{if(!p.current)return;const{top:B,left:Z}=p.current.getBoundingClientRect(),V={x:f.clientX-Z,y:f.clientY-B};x.matches("drawingLine")?L(b===void 0?{type:"ADD_LINE_START",point:V}:{type:"ADD_LINE_END",point:V}):x.matches("drawingPolygon")?L({type:"ADD_POLYGON_POINT",point:V}):x.matches("addingMarker")&&L({type:"ADD_MARKER",point:V})},onMouseMove:f=>{if(!p.current)return;const{top:B,left:Z}=p.current.getBoundingClientRect(),V={x:f.clientX-Z,y:f.clientY-B};L({type:"MOUSE_MOVE",point:V})},children:[j==null?void 0:j.map((f,B)=>t.jsx(Ot,v({},f),B)),b&&T&&t.jsx(Ot,{start:b,end:T}),w==null?void 0:w.map(({points:f,options:B},Z)=>t.jsx(bt,{editing:!1,points:f,options:B},Z)),Ke(re)>0&&T&&t.jsx(bt,{editing:!0,points:[...re,T],onClose:f=>{L({type:"DRAW_POLYGON_COMPLETE"})}}),h==null?void 0:h.map(f=>t.jsx(vt,{marker:f,markRenderer:z})),x.matches("addingMarker")&&T&&t.jsx(vt,{marker:{id:"addingMarker",point:T}})]})})})}function et(n,e,M){if(M)return Math.abs(et(n,M)-et(e,M));for(var s=Math.atan2(e.y-n.y,e.x-n.x);s<0;)s+=2*Math.PI;return s}const We=o.createContext({options:{}});We.displayName="DrawableContext";function kM(n){const r=n,{url:e}=r,M=Ye(r,["url"]),[s,i]=Dn.useImmer({scale:1,width:0,height:0});return e?t.jsxs("div",{className:"relative bg-pink-500 bg-opacity-40",children:[t.jsx(OM,{url:e,onScaleChange:(c,l,a)=>{i(z=>{z.scale=c,z.width=l,z.height=a})}}),t.jsx(bM,v(v({},M),s))]}):null}exports.Button=Tn;exports.Copy=Rt;exports.DocumentViewer=Vt;exports.DrawableContext=We;exports.DrawableImageMap=kM;exports.ExpandablePannel=jM;exports.IconButton=Ne;exports.Iconfont=se;exports.ImageMap=DM;exports.Markdown=Gt;exports.MarkdownATag=Wt;exports.MarkdownCode=Pt;exports.MarkdownImage=Bt;exports.MarkdownVideo=tt;exports.MouseTip=EM;exports.PanoramaRecordPlayer=IM;exports.PassMap=$t;exports.TrackMap=Ht;exports.Zoom=Ft;exports.calAngle=et;exports.useBimface=SM;
|