@marimo-team/frontend 0.17.7 → 0.17.8
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/assets/CellStatus-DPXKKvLP.js +1 -0
- package/dist/assets/Combination-CJczP3q7.js +41 -0
- package/dist/assets/ConnectedDataExplorerComponent-CrybKOL3.js +1 -0
- package/dist/assets/ConsoleOutput-BwPQWTZk.js +4 -0
- package/dist/assets/ErrorBoundary-Bu1xrDr8.js +1 -0
- package/dist/assets/ImageComparisonComponent-8Ap5uC96.js +1 -0
- package/dist/assets/ImperativeModal-kroC_7ut.js +1 -0
- package/dist/assets/Inputs-BbLBkwsf.js +1 -0
- package/dist/assets/LazyAnyLanguageCodeMirror-C5EeHVjE.js +2 -0
- package/dist/assets/MarimoErrorOutput-CkZl2oHu.js +9 -0
- package/dist/assets/Output-bwodJiCi.js +142 -0
- package/dist/assets/RenderHTML-DII6L-pL.js +1 -0
- package/dist/assets/SSRProvider-3gFeNiun.js +1 -0
- package/dist/assets/TinyCode-DJQhIrSL.js +1 -0
- package/dist/assets/VisuallyHidden-BhVlvbgE.js +1 -0
- package/dist/assets/__vite-browser-external-CuxDRaqz.js +1 -0
- package/dist/assets/__vite-browser-external-D9FJ-Z-a.js +1 -0
- package/dist/assets/activity-BNdjhxvI.js +1 -0
- package/dist/assets/add-cell-with-ai-B5g8vtHB.js +81 -0
- package/dist/assets/add-database-form-B0YECN2g.js +111 -0
- package/dist/assets/add-missing-import-CgnlhMvv.js +1 -0
- package/dist/assets/agent-panel-BYnzVe0R.js +287 -0
- package/dist/assets/ai-model-dropdown-BuNmF2aO.js +2 -0
- package/dist/assets/alert-DZiaW65G.js +1 -0
- package/dist/assets/alert-dialog-DkIHCxse.js +11 -0
- package/dist/assets/any-language-editor-B7W68S9J.js +3 -0
- package/dist/assets/api-B8WZp3pa.js +1 -0
- package/dist/assets/apl-DiFyycVh.js +1 -0
- package/dist/assets/app-config-button-BnK3MhdN.js +1 -0
- package/dist/assets/arc-b6bpmWtg.js +1 -0
- package/dist/assets/architecture-O4VJ6CD3-D5UQoxsD.js +1 -0
- package/dist/assets/architectureDiagram-W76B3OCA-1_iwowZU.js +36 -0
- package/dist/assets/arrow-left-qLn5JMUD.js +1 -0
- package/dist/assets/asciiarmor-BAWhqgpM.js +1 -0
- package/dist/assets/asn1-CtTMtM_b.js +1 -0
- package/dist/assets/badge-DrRlgkPx.js +1 -0
- package/dist/assets/between-horizontal-start-DDhAeomy.js +1 -0
- package/dist/assets/blockDiagram-QIGZ2CNN-DCAPq0ef.js +122 -0
- package/dist/assets/brainfuck-D-g39Tsa.js +1 -0
- package/dist/assets/bundle.esm-CC-LjhS-.js +1 -0
- package/dist/assets/button-DCB7VoVL.js +1 -0
- package/dist/assets/c4Diagram-FPNF74CW-4lagj5hx.js +10 -0
- package/dist/assets/cache-panel-BLbtgeIs.js +1 -0
- package/dist/assets/capabilities-MLRWIHmO.js +1 -0
- package/dist/assets/cell-actions-CwdXjy3R.js +1 -0
- package/dist/assets/cell-editor-D0N0SRM2.js +23 -0
- package/dist/assets/cell-link-CGc-QK-U.js +1 -0
- package/dist/assets/cells-CAMtfgeb.js +143 -0
- package/dist/assets/channel-BPB6RU50.js +1 -0
- package/dist/assets/chart-no-axes-column-C14EHesU.js +1 -0
- package/dist/assets/chat-components-BFOUN3AU.js +4 -0
- package/dist/assets/chat-panel-B_haFrpw.js +3 -0
- package/dist/assets/check-DqnGmZZE.js +1 -0
- package/dist/assets/chevron-right-Bu29x-gp.js +1 -0
- package/dist/assets/chunk-3AY6CYHV-DcvWgaJi.js +7 -0
- package/dist/assets/chunk-4BX2VUAB-CvXXOeUJ.js +1 -0
- package/dist/assets/chunk-55IACEB6-BD22fxS8.js +1 -0
- package/dist/assets/chunk-6OXUPJBA-D35vZZTe.js +2 -0
- package/dist/assets/chunk-7GE3RBXV-Ds_00JTJ.js +1 -0
- package/dist/assets/chunk-ABZYJK2D-4pv2vB7F.js +80 -0
- package/dist/assets/chunk-BN7GFLIU-B1gloQOG.js +1 -0
- package/dist/assets/chunk-CVBHYZKI-SXlNTOC2.js +1 -0
- package/dist/assets/chunk-CXMOBAN2-I90XR5Ox.js +54 -0
- package/dist/assets/chunk-EXTU4WIE-C6pnnksK.js +1 -0
- package/dist/assets/chunk-FMBD7UC4-CDBZqENA.js +15 -0
- package/dist/assets/chunk-JA3XYJ7Z-B2fvRAXr.js +11 -0
- package/dist/assets/chunk-JEIROHC2-CnPazemR.js +1 -0
- package/dist/assets/chunk-K7UQS3LO-CHpuNy1n.js +165 -0
- package/dist/assets/chunk-KMC2YHZD-B3DMNOXh.js +1 -0
- package/dist/assets/chunk-QN33PNHL-smsGJyAL.js +1 -0
- package/dist/assets/chunk-QYVHNE3D-BzVwaz8x.js +1 -0
- package/dist/assets/chunk-QZHKN3VN-tC69h88k.js +1 -0
- package/dist/assets/chunk-S3R3BYOJ-Oudh3LU4.js +2 -0
- package/dist/assets/chunk-T44TD3VJ-BZiyoqMg.js +1 -0
- package/dist/assets/chunk-TVAH2DTR-Cpequ-Jj.js +220 -0
- package/dist/assets/chunk-TZMSLE5B-DjoDt_XA.js +1 -0
- package/dist/assets/chunk-WFRQ32O7-CbRYDoKx.js +1 -0
- package/dist/assets/chunk-WFWHJNB7-CsCaphr8.js +1 -0
- package/dist/assets/chunk-XRWGC2XP-yBfdbqfJ.js +1 -0
- package/dist/assets/chunk-ZPAFE4SF-Di6HadFg.js +32 -0
- package/dist/assets/circle-check-CBK5T4zt.js +1 -0
- package/dist/assets/circle-play-CeluX0l1.js +1 -0
- package/dist/assets/circle-plus-gt8rkr_9.js +1 -0
- package/dist/assets/circle-x-65ujNh_O.js +1 -0
- package/dist/assets/classDiagram-KNZD7YFC-BnNfNWns.js +1 -0
- package/dist/assets/classDiagram-v2-RKCZMP56-Clk73TSx.js +1 -0
- package/dist/assets/clear-button-BVzc0Myi.js +1 -0
- package/dist/assets/click-outside-container-C6DEV18a.js +1 -0
- package/dist/assets/client-DwlQbzrX.js +2 -0
- package/dist/assets/clike-Del1aM7V.js +1 -0
- package/dist/assets/clipboard-paste-BBZtk4_E.js +1 -0
- package/dist/assets/clojure-DmTswoFG.js +1 -0
- package/dist/assets/cmake-DAoCuUDE.js +1 -0
- package/dist/assets/cobol-BE9N6AQ-.js +1 -0
- package/dist/assets/coffeescript-BRP8S7ZW.js +1 -0
- package/dist/assets/column-preview-CEDUFvMb.js +1 -0
- package/dist/assets/command-CgWi9W7A.js +1 -0
- package/dist/assets/command-palette-ChAq8XO9.js +1 -0
- package/dist/assets/common-CO0-iaVr.js +1 -0
- package/dist/assets/commonlisp-BS8oQjGE.js +1 -0
- package/dist/assets/compiler-runtime-bbSa6V1W.js +1 -0
- package/dist/assets/config-DOzlN8_n.js +1 -0
- package/dist/assets/connection-DOETP_K0.js +1 -0
- package/dist/assets/context-By5V2JVn.js +1 -0
- package/dist/assets/copy-4VJP-N0g.js +1 -0
- package/dist/assets/copy-icon-DFLZbTfh.js +1 -0
- package/dist/assets/copy-zuiMeyCQ.js +1 -0
- package/dist/assets/cose-bilkent-S5V4N54A-B9AnQXpu.js +1 -0
- package/dist/assets/createLucideIcon-DbfgBYhq.js +1 -0
- package/dist/assets/createReducer-CTvsuJZY.js +1 -0
- package/dist/assets/crystal-CRDMNjDv.js +1 -0
- package/dist/assets/css-us97Iddy.js +1 -0
- package/dist/assets/cypher-CBH6XzVc.js +1 -0
- package/dist/assets/cytoscape.esm-Cim8wi13.js +321 -0
- package/dist/assets/d-CKwQ35PI.js +1 -0
- package/dist/assets/dagre-5GWH7T2D-DWxayQuB.js +4 -0
- package/dist/assets/data-grid-overlay-editor-CAOCvAeu.js +1 -0
- package/dist/assets/database-zap-90vKfRkX.js +1 -0
- package/dist/assets/datasources-panel-BhiR0CNG.js +1 -0
- package/dist/assets/dependency-graph-panel-bUxgpxDE.js +4 -0
- package/dist/assets/diagram-N5W7TBWH-D3ZhjCs3.js +24 -0
- package/dist/assets/diagram-QEK2KX5R-Cb35QTLr.js +43 -0
- package/dist/assets/diagram-S2PKOQOG-CIOc0Udk.js +24 -0
- package/dist/assets/dialog-DZWinI5N.js +1 -0
- package/dist/assets/diff-BtPrcYlV.js +1 -0
- package/dist/assets/dist--8e9VGsl.js +1 -0
- package/dist/assets/dist-0FJpM7wG.js +1 -0
- package/dist/assets/dist-2rBXr-aS.js +1 -0
- package/dist/assets/dist-4GQeuWFQ.js +1 -0
- package/dist/assets/dist-B1wJF59y.js +1 -0
- package/dist/assets/dist-BFSjfL-I.js +2 -0
- package/dist/assets/dist-BGeFWVD6.js +1 -0
- package/dist/assets/dist-BGgBzoiO.js +1 -0
- package/dist/assets/dist-BN-1z8mm.js +1 -0
- package/dist/assets/dist-BUfDRi87.js +1 -0
- package/dist/assets/dist-BdkKJ3G3.js +1 -0
- package/dist/assets/dist-BrS3KFEl.js +1 -0
- package/dist/assets/dist-Bu5OuYeo.js +1 -0
- package/dist/assets/dist-BuEd4VGV.js +1 -0
- package/dist/assets/dist-Bw_ceTOd.js +1 -0
- package/dist/assets/dist-C6GW8SWp.js +13 -0
- package/dist/assets/dist-CAFoFFJF.js +1 -0
- package/dist/assets/dist-CIThMDB8.js +1 -0
- package/dist/assets/dist-CJIkd1DM.js +1 -0
- package/dist/assets/dist-CNZQfa8W.js +1 -0
- package/dist/assets/dist-COUwO6Q6.js +1 -0
- package/dist/assets/dist-CXTAKsYC.js +1 -0
- package/dist/assets/dist-CZkQ2hcE.js +1 -0
- package/dist/assets/dist-CbT0RiD0.js +260 -0
- package/dist/assets/dist-Cl7otIMy.js +3 -0
- package/dist/assets/dist-CmEn1nMp.js +1 -0
- package/dist/assets/dist-Cn3C5h2V.js +1 -0
- package/dist/assets/dist-CoVfzd-4.js +1 -0
- package/dist/assets/dist-CrvuMM2L.js +1 -0
- package/dist/assets/dist-CvIoRIOp.js +2 -0
- package/dist/assets/dist-CzaCAuEN.js +1 -0
- package/dist/assets/dist-D4dFcbt8.js +7 -0
- package/dist/assets/dist-D5QNAo1x.js +1 -0
- package/dist/assets/dist-D84pVwY7.js +1 -0
- package/dist/assets/dist-DFOg0cu_.js +1 -0
- package/dist/assets/dist-DOLcWI7m.js +1 -0
- package/dist/assets/dist-DSJ2ZFEM.js +1 -0
- package/dist/assets/dist-DXvMjqJ4.js +1 -0
- package/dist/assets/dist-DZAt7AHl.js +1 -0
- package/dist/assets/dist-DrAMGx2E.js +6 -0
- package/dist/assets/dist-Ducx4jqX.js +1 -0
- package/dist/assets/dist-DvTgOH5F.js +13 -0
- package/dist/assets/dist-ORyWvZpp.js +1 -0
- package/dist/assets/dist-SXxUBTmG.js +1 -0
- package/dist/assets/dist-USFTKxJR.js +1 -0
- package/dist/assets/dist-YP2XXp1Z.js +3 -0
- package/dist/assets/dist-_GzJQFYT.js +1 -0
- package/dist/assets/dist-rxj5KoqT.js +1 -0
- package/dist/assets/dockerfile-fDdOK3ov.js +1 -0
- package/dist/assets/documentation-panel-DDZFqk2y.js +1 -0
- package/dist/assets/download-BYnrx3yk.js +1 -0
- package/dist/assets/download-C81Fxkfa.js +2 -0
- package/dist/assets/dropdown-menu-k3cvSs56.js +1 -0
- package/dist/assets/dtd-BNqeF3HB.js +1 -0
- package/dist/assets/dylan-C2KE_ARv.js +1 -0
- package/dist/assets/ecl-CLD3EYom.js +1 -0
- package/dist/assets/edit-page-B50Sqg43.js +12 -0
- package/dist/assets/eiffel-C3QxGicN.js +1 -0
- package/dist/assets/ellipsis-mCYmaIQe.js +1 -0
- package/dist/assets/ellipsis-vertical-GzpLMS30.js +1 -0
- package/dist/assets/elm-Dc9b15sa.js +1 -0
- package/dist/assets/empty-state-Dfk0qult.js +1 -0
- package/dist/assets/en-US-Cok_jNd9.js +1 -0
- package/dist/assets/erDiagram-AWTI2OKA-D8ge3j7Z.js +60 -0
- package/dist/assets/erlang-59AUz-n0.js +1 -0
- package/dist/assets/error-banner-B98iBZZ2.js +1 -0
- package/dist/assets/error-panel-ChSJzsqJ.js +1 -0
- package/dist/assets/es-Bve1w9dd.js +5 -0
- package/dist/assets/esm-BJLcBgU0.js +1 -0
- package/dist/assets/esm-DXZXojh_.js +1 -0
- package/dist/assets/eye-off-DNEZNQI7.js +1 -0
- package/dist/assets/factor-B2ESt4eh.js +1 -0
- package/dist/assets/factor-DIE032fN.js +1 -0
- package/dist/assets/field-D6TVJZGU.js +1 -0
- package/dist/assets/file-DU2hKpP7.js +1 -0
- package/dist/assets/file-explorer-panel-D1u7ZSov.js +1 -0
- package/dist/assets/file-plus-2-C6zNvKzj.js +1 -0
- package/dist/assets/file-text-KeEJTZsk.js +1 -0
- package/dist/assets/file-video-camera-Bt4f7oOT.js +1 -0
- package/dist/assets/floating-outline-DJ1FXuVN.js +1 -0
- package/dist/assets/flowDiagram-PVAE7QVJ-C8c0HQqL.js +162 -0
- package/dist/assets/focus-Bg0Cm8D6.js +1 -0
- package/dist/assets/form-CAATHPdC.js +2 -0
- package/dist/assets/form-x7Qa7Rrh.js +1 -0
- package/dist/assets/formats-Dmio8FVx.js +1 -0
- package/dist/assets/forth-DjCo7dIs.js +1 -0
- package/dist/assets/fortran-CZmOENAN.js +1 -0
- package/dist/assets/ganttDiagram-OWAHRB6G-BYhkRcPP.js +267 -0
- package/dist/assets/gas-SoBzL_Tr.js +1 -0
- package/dist/assets/gherkin-DLggx8YE.js +1 -0
- package/dist/assets/gitGraph-ZV4HHKMB-DxnUFMI1.js +1 -0
- package/dist/assets/gitGraphDiagram-NY62KEGX-CCC74nFs.js +65 -0
- package/dist/assets/glide-data-editor-BiQxT1mz.js +132 -0
- package/dist/assets/globals-DlvGFwxH.js +1 -0
- package/dist/assets/globe-DW6c4--m.js +1 -0
- package/dist/assets/groovy-9IQPpZra.js +1 -0
- package/dist/assets/haskell-CgXYOX9c.js +1 -0
- package/dist/assets/haxe-aSjlIDiq.js +1 -0
- package/dist/assets/home-page-Ow0eLqO9.js +4 -0
- package/dist/assets/icons-DVWpV4I_.js +1 -0
- package/dist/assets/idl-BADcUAqn.js +1 -0
- package/dist/assets/image-DVFLPjWH.js +1 -0
- package/dist/assets/index-CYOH-TAt.css +2 -0
- package/dist/assets/index-DUlb-6KU.js +44 -0
- package/dist/assets/info-63CPKGFF-CGz90yJ6.js +1 -0
- package/dist/assets/infoDiagram-STP46IZ2-e1r2QvWV.js +2 -0
- package/dist/assets/input-lkQFhlrZ.js +1 -0
- package/dist/assets/isValid-BhOWABEg.js +1 -0
- package/dist/assets/javascript-C7hPrwf3.js +1 -0
- package/dist/assets/jotai-C7U7c6dd.js +1 -0
- package/dist/assets/journeyDiagram-BIP6EPQ6-l_zOcPgv.js +139 -0
- package/dist/assets/kanban-definition-6OIFK2YF-DCaGC54T.js +89 -0
- package/dist/assets/katex-CmcM9wns.js +1 -0
- package/dist/assets/kbd-BEZA_QXE.js +1 -0
- package/dist/assets/key-CaC9xuXQ.js +1 -0
- package/dist/assets/kiosk-mode-DIAVlB9d.js +1 -0
- package/dist/assets/label-BnC8-64i.js +1 -0
- package/dist/assets/layout-BITT6czF.js +4 -0
- package/dist/assets/lazy-NLnLn6Pi.js +2 -0
- package/dist/assets/line-BCUKzinT.js +1 -0
- package/dist/assets/linear-B0yoSdze.js +1 -0
- package/dist/assets/link-CWX-dQ90.js +1 -0
- package/dist/assets/links-Cd3tV5IK.js +1 -0
- package/dist/assets/links-Lztpt8X-.js +1 -0
- package/dist/assets/logs-panel-D8uwhqvR.js +1 -0
- package/dist/assets/loro_wasm_bg-C1LA9JRY.js +1 -0
- package/dist/assets/maps-B9m998ly.js +1 -0
- package/dist/assets/menu-items-CKlDAcIy.js +1 -0
- package/dist/assets/mermaid-CEnPf8cP.js +1 -0
- package/dist/assets/mermaid-parser.core-1z0w_R7X.js +4 -0
- package/dist/assets/mermaid.core-B_mKPVgh.js +11 -0
- package/dist/assets/mermaid.core-P1tMYu0J.js +1 -0
- package/dist/assets/mhchem-BxE_4AeM.js +1 -0
- package/dist/assets/mindmap-definition-Q6HEUPPD-BOzcEjkC.js +68 -0
- package/dist/assets/mllike-CvMT7BHA.js +1 -0
- package/dist/assets/mode-BAOMKXFj.js +1 -0
- package/dist/assets/multi-icon-DgSEPrIf.js +1 -0
- package/dist/assets/multi-map-CMSc8wqP.js +1 -0
- package/dist/assets/name-cell-input-kfZkR5qv.js +1 -0
- package/dist/assets/nsis-Bu9c7jg8.js +1 -0
- package/dist/assets/nsis-z1VCt9tx.js +1 -0
- package/dist/assets/number-overlay-editor-4hcbz-Xy.js +9 -0
- package/dist/assets/numbers-BrVMv_xq.js +1 -0
- package/dist/assets/ordinal-B3kMb9G4.js +1 -0
- package/dist/assets/outline-panel-PgZ3OoWh.js +1 -0
- package/dist/assets/packages-panel-w4yEg0ed.js +1 -0
- package/dist/assets/packet-HUATNLJX-CG6ZWPeY.js +1 -0
- package/dist/assets/panels-Cs4PsVT4.js +1 -0
- package/dist/assets/pie-WTHONI2E-DySJN2Hx.js +1 -0
- package/dist/assets/pieDiagram-ADFJNKIX-Cyw5_yhH.js +30 -0
- package/dist/assets/plug-DZNnmiy1.js +1 -0
- package/dist/assets/plus-VNKMcdhl.js +1 -0
- package/dist/assets/popover-ieUH9gue.js +1 -0
- package/dist/assets/precisionRound-JPbfj2M2.js +1 -0
- package/dist/assets/pug-CaaLw7eE.js +1 -0
- package/dist/assets/pug-i6atkyz7.js +1 -0
- package/dist/assets/purify.es-BNe8OHFA.js +2 -0
- package/dist/assets/python-01S0WAiq.js +1 -0
- package/dist/assets/quadrantDiagram-LMRXKWRM-r1syOKnp.js +7 -0
- package/dist/assets/radar-NJJJXTRR-CgK-l6zu.js +1 -0
- package/dist/assets/react-dom-BjyRIiB0.js +1 -0
- package/dist/assets/react-plotly-z6K2kWRZ.js +4030 -0
- package/dist/assets/react-vega-BQZ6J9sh.js +190 -0
- package/dist/assets/react-vega-C-rZsP2h.js +1 -0
- package/dist/assets/readonly-python-code-B1LohqR_.js +1 -0
- package/dist/assets/refresh-ccw-Dmg0YI4-.js +1 -0
- package/dist/assets/refresh-cw-z53rVhjq.js +1 -0
- package/dist/assets/renderShortcut-Cp1zXREV.js +1 -0
- package/dist/assets/request-registry-C9ZqbErC.js +1 -0
- package/dist/assets/requests-CftYh9v2.js +1 -0
- package/dist/assets/requests-hYqt4rnB.js +1 -0
- package/dist/assets/requirementDiagram-4UW4RH46-TZbgexkl.js +64 -0
- package/dist/assets/run-page-DQq6Ubq2.js +1 -0
- package/dist/assets/runs-DJSbp-nt.js +1 -0
- package/dist/assets/sankeyDiagram-GR3RE2ED-DOAaeXih.js +10 -0
- package/dist/assets/save-Dxp7SN8k.js +1 -0
- package/dist/assets/save-worker-1SpfMMps.js +58 -0
- package/dist/assets/scratchpad-panel-BHyTMkB-.js +1 -0
- package/dist/assets/secrets-panel-aLSYHai4.js +1 -0
- package/dist/assets/select-E33nSIDn.js +1 -0
- package/dist/assets/send-DjnZs47z.js +1 -0
- package/dist/assets/sequenceDiagram-C3RYC4MD-DR5X4rBt.js +145 -0
- package/dist/assets/settings-Dt7V2Blo.js +1 -0
- package/dist/assets/share-Cyx6Ke3B.js +1 -0
- package/dist/assets/shim-DuR5ZJNr.js +1 -0
- package/dist/assets/slides-component-ZimwIaSa.js +1 -0
- package/dist/assets/snippets-panel-q84abuax.js +1 -0
- package/dist/assets/spec-D64rpvwX.js +1 -0
- package/dist/assets/spinner-CM1AwwT-.js +1 -0
- package/dist/assets/square-C2sucLEB.js +1 -0
- package/dist/assets/square-function-C7Ij9TAd.js +1 -0
- package/dist/assets/square-terminal-DcEZ9Ivs.js +1 -0
- package/dist/assets/src-FiBAYfGy.js +1 -0
- package/dist/assets/state-CtYWaPuR.js +1 -0
- package/dist/assets/state-DLUXyYyB.js +1 -0
- package/dist/assets/state-dWjslxDZ.js +1 -0
- package/dist/assets/stateDiagram-KXAO66HF-DvUJNAH4.js +1 -0
- package/dist/assets/stateDiagram-v2-UMBNRL4Z-BBB1Z0py.js +1 -0
- package/dist/assets/step-DgNh0Im1.js +1 -0
- package/dist/assets/strings-jhyl_xMu.js +2 -0
- package/dist/assets/switch-DBfU9QHL.js +1 -0
- package/dist/assets/table-CTK995oK.js +1 -0
- package/dist/assets/table-Ny605LgF.js +1 -0
- package/dist/assets/tabs-DvBunSCS.js +1 -0
- package/dist/assets/terminal-BYIts0Wd.js +10 -0
- package/dist/assets/text-search-BtXNkEHU.js +1 -0
- package/dist/assets/textarea-faXBMy_c.js +1 -0
- package/dist/assets/time-B11NhaT8.js +1 -0
- package/dist/assets/timeline-definition-XQNQX7LJ-Dmpxcd08.js +61 -0
- package/dist/assets/toDate-CbcWqY6f.js +1 -0
- package/dist/assets/toggle-6a-IWcUo.js +1 -0
- package/dist/assets/tooltip-CyyA9NKX.js +61 -0
- package/dist/assets/tooltip-QlUG_0sW.js +1 -0
- package/dist/assets/tracing-panel-BNnuwoJ6.js +2 -0
- package/dist/assets/tracing-wtfV19jS.js +1 -0
- package/dist/assets/trash-2-BsccpX3E.js +1 -0
- package/dist/assets/trash-C8_hvhi2.js +1 -0
- package/dist/assets/tree-ThjH84Vh.js +11 -0
- package/dist/assets/treemap-75Q7IDZK-Chid_ihL.js +1 -0
- package/dist/assets/triangle-alert-DoSv9yQr.js +1 -0
- package/dist/assets/type-CnQq0uaD.js +1 -0
- package/dist/assets/types-BfF9hgo8.js +1 -0
- package/dist/assets/types-CKcqkReK.js +17 -0
- package/dist/assets/use-toast-BBrPeu2N.js +1 -0
- package/dist/assets/useAddCell-C5hu4Wun.js +1 -0
- package/dist/assets/useAsyncData-BIQYiPhO.js +1 -0
- package/dist/assets/useBoolean-Do2iSPXV.js +1 -0
- package/dist/assets/useCellActionButton-l2j8uD5l.js +1 -0
- package/dist/assets/useDateFormatter-DHQNk42q.js +1 -0
- package/dist/assets/useDebounce-Dc646H0x.js +1 -0
- package/dist/assets/useDeepCompareMemoize-DVzR9zu0.js +1 -0
- package/dist/assets/useDeleteCell-yV4YK-xy.js +1 -0
- package/dist/assets/useEvent-mw3fc-le.js +1 -0
- package/dist/assets/useEventListener-DVwjxFkt.js +1 -0
- package/dist/assets/useHotkey-VwOksnmL.js +1 -0
- package/dist/assets/useIframeCapabilities-CRfeZulz.js +1 -0
- package/dist/assets/useInstallPackage-CX-LUKF-.js +1 -0
- package/dist/assets/useInterval-DcwlGTe6.js +1 -0
- package/dist/assets/useLifecycle-DiLWmtpP.js +1 -0
- package/dist/assets/useNonce-CElEIK4R.js +1 -0
- package/dist/assets/useNotebookActions-DLx3Fygp.js +1 -0
- package/dist/assets/useNumberFormatter-BFHkt56k.js +1 -0
- package/dist/assets/usePress-CqxmpITG.js +7 -0
- package/dist/assets/useRunCells-DSf9mKXo.js +1 -0
- package/dist/assets/useSplitCell-CPKZi1bG.js +1 -0
- package/dist/assets/useTheme-Dsb69ewj.js +1 -0
- package/dist/assets/utilities.esm-BUZA9ZNB.js +3 -0
- package/dist/assets/utils-BPcfRUDE.js +1 -0
- package/dist/assets/variable-panel-DyYTOTCM.js +1 -0
- package/dist/assets/vega-component-vMEXqPyr.js +1 -0
- package/dist/assets/vega-loader.browser-BJKnSXO3.js +6 -0
- package/dist/assets/worker-DFkS7cAN.js +101 -0
- package/dist/assets/workflow-CgyFQnIM.js +1 -0
- package/dist/assets/write-secret-modal-zRnaYcIL.js +1 -0
- package/dist/assets/ws-BNjYz4sN.js +22 -0
- package/dist/assets/xychartDiagram-6GGTOJPD-CC5m3Qr2.js +7 -0
- package/dist/assets/youtube-BEn_4a_V.js +1 -0
- package/dist/index.html +204 -204
- package/package.json +13 -13
- package/src/__mocks__/notebook.ts +1 -1
- package/src/components/app-config/ai-config.tsx +1 -0
- package/src/components/data-table/charts/charts.tsx +49 -4
- package/src/components/data-table/columns.tsx +15 -0
- package/src/components/data-table/download-actions.tsx +4 -1
- package/src/components/editor/Output.tsx +37 -7
- package/src/components/editor/chrome/panels/write-secret-modal.tsx +1 -1
- package/src/components/editor/chrome/wrapper/app-chrome.tsx +9 -18
- package/src/components/editor/file-tree/file-viewer.tsx +35 -6
- package/src/components/editor/output/MarimoErrorOutput.tsx +42 -17
- package/src/components/editor/output/__tests__/ansi-reduce.test.ts +560 -0
- package/src/components/editor/output/ansi-reduce.ts +392 -0
- package/src/components/pages/run-page.tsx +1 -6
- package/src/components/ui/alert.tsx +2 -0
- package/src/components/ui/query-param-preserving-link.tsx +3 -0
- package/src/core/cells/__tests__/cells.test.ts +23 -16
- package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +398 -1
- package/src/core/cells/cell.ts +6 -7
- package/src/core/cells/collapseConsoleOutputs.tsx +35 -45
- package/src/core/export/hooks.ts +4 -3
- package/src/core/static/__tests__/virtual-file-tracker.test.ts +42 -0
- package/src/core/static/virtual-file-tracker.ts +1 -1
- package/src/plugins/impl/DataTablePlugin.tsx +2 -0
- package/src/plugins/impl/FileBrowserPlugin.tsx +30 -5
- package/src/utils/__tests__/json-parser.test.ts +50 -9
- package/src/utils/json/json-parser.ts +22 -2
- package/dist/assets/CellStatus-CJ5BnF-2.js +0 -1
- package/dist/assets/Combination-BjaZc6gK.js +0 -41
- package/dist/assets/ConnectedDataExplorerComponent-BiJPD-um.js +0 -1
- package/dist/assets/ConsoleOutput-BJP_UIwR.js +0 -4
- package/dist/assets/ErrorBoundary-_uEOjNWh.js +0 -1
- package/dist/assets/ImageComparisonComponent-WABs9NdN.js +0 -1
- package/dist/assets/ImperativeModal-C4fZHLKz.js +0 -1
- package/dist/assets/Inputs-237ZzRAb.js +0 -1
- package/dist/assets/LazyAnyLanguageCodeMirror-BovGLUi6.js +0 -2
- package/dist/assets/MarimoErrorOutput-BATnwNYX.js +0 -9
- package/dist/assets/Output-DWmT-7NV.js +0 -142
- package/dist/assets/RenderHTML-DTLkV9Uh.js +0 -1
- package/dist/assets/SSRProvider-B8x7qo1c.js +0 -1
- package/dist/assets/TinyCode-GLDQZf34.js +0 -1
- package/dist/assets/VisuallyHidden-DqOWapbP.js +0 -1
- package/dist/assets/__vite-browser-external-BJyYPVNm.js +0 -1
- package/dist/assets/__vite-browser-external-D_SJt3Xu.js +0 -1
- package/dist/assets/activity-DdWPIGQX.js +0 -1
- package/dist/assets/add-cell-with-ai-Bf3hYYIu.js +0 -77
- package/dist/assets/add-database-form-D9ltJYvM.js +0 -111
- package/dist/assets/add-missing-import-Bc1Nj8aC.js +0 -1
- package/dist/assets/agent-panel-CPGu8Erd.js +0 -287
- package/dist/assets/ai-model-dropdown-CvhbTHha.js +0 -2
- package/dist/assets/alert-BqjCH_7t.js +0 -1
- package/dist/assets/alert-dialog-8EwWlboa.js +0 -11
- package/dist/assets/any-language-editor-I1TeVFID.js +0 -3
- package/dist/assets/api-YJHlT7KM.js +0 -1
- package/dist/assets/apl-C8IztUHV.js +0 -1
- package/dist/assets/app-config-button-B-Faif0q.js +0 -1
- package/dist/assets/arc-tAqWLv-B.js +0 -1
- package/dist/assets/architecture-O4VJ6CD3-BA-L7b4v.js +0 -1
- package/dist/assets/architectureDiagram-W76B3OCA-5dGU5TQs.js +0 -36
- package/dist/assets/arrow-left-C_-paiHG.js +0 -1
- package/dist/assets/asciiarmor-DYFmjXYU.js +0 -1
- package/dist/assets/asn1-Cfc8H1Ev.js +0 -1
- package/dist/assets/badge-Jfhpc30N.js +0 -1
- package/dist/assets/between-horizontal-start-CC0exyFi.js +0 -1
- package/dist/assets/blockDiagram-QIGZ2CNN-CxEhKvDB.js +0 -122
- package/dist/assets/brainfuck-JvCPN9qf.js +0 -1
- package/dist/assets/bundle.esm-BEDtDq85.js +0 -1
- package/dist/assets/button-ZC2axIBq.js +0 -1
- package/dist/assets/c4Diagram-FPNF74CW-BV6AZZEM.js +0 -10
- package/dist/assets/cache-panel-ClGFjnuH.js +0 -1
- package/dist/assets/capabilities-srilPYuF.js +0 -1
- package/dist/assets/cell-actions-DDza1yZz.js +0 -1
- package/dist/assets/cell-editor-4oTwitxm.js +0 -23
- package/dist/assets/cell-link-D75IV6D1.js +0 -1
- package/dist/assets/cells-A69p56PE.js +0 -141
- package/dist/assets/channel-CYaFLAI3.js +0 -1
- package/dist/assets/chart-no-axes-column-DYZiSI6e.js +0 -1
- package/dist/assets/chat-components-C2ryFVKe.js +0 -4
- package/dist/assets/chat-panel-CjjOlUPZ.js +0 -3
- package/dist/assets/check-CuBLr6Cm.js +0 -1
- package/dist/assets/chevron-right-BV0VfNbL.js +0 -1
- package/dist/assets/chunk-3AY6CYHV-CGvUwVix.js +0 -7
- package/dist/assets/chunk-4BX2VUAB-CEk5Yddb.js +0 -1
- package/dist/assets/chunk-55IACEB6-DkQ-sTvr.js +0 -1
- package/dist/assets/chunk-6OXUPJBA-C8TM1_vW.js +0 -2
- package/dist/assets/chunk-7GE3RBXV-H12zLBKj.js +0 -1
- package/dist/assets/chunk-ABZYJK2D-Cm5Mq_1V.js +0 -80
- package/dist/assets/chunk-BN7GFLIU-B2OO_dsW.js +0 -1
- package/dist/assets/chunk-CVBHYZKI-CMFQpulc.js +0 -1
- package/dist/assets/chunk-CXMOBAN2-7ndVTSz1.js +0 -54
- package/dist/assets/chunk-EXTU4WIE-DUVoiM8z.js +0 -1
- package/dist/assets/chunk-FMBD7UC4-CmHQ0YbI.js +0 -15
- package/dist/assets/chunk-JA3XYJ7Z-D3VjadO-.js +0 -11
- package/dist/assets/chunk-JEIROHC2-DJ3tpwJA.js +0 -1
- package/dist/assets/chunk-K7UQS3LO-Dv8pkZsr.js +0 -165
- package/dist/assets/chunk-KMC2YHZD-aZ_clHHw.js +0 -1
- package/dist/assets/chunk-QN33PNHL-kpDAjAtU.js +0 -1
- package/dist/assets/chunk-QYVHNE3D-D8NpnEYd.js +0 -1
- package/dist/assets/chunk-QZHKN3VN-B7PBWDfB.js +0 -1
- package/dist/assets/chunk-S3R3BYOJ-BW8g0Zog.js +0 -2
- package/dist/assets/chunk-T44TD3VJ-ob7Tm16D.js +0 -1
- package/dist/assets/chunk-TVAH2DTR-CG4Xr_vq.js +0 -220
- package/dist/assets/chunk-TZMSLE5B-B4Mtcg_D.js +0 -1
- package/dist/assets/chunk-WFRQ32O7-DaR0-qal.js +0 -1
- package/dist/assets/chunk-WFWHJNB7-BdOad_I6.js +0 -1
- package/dist/assets/chunk-XRWGC2XP-bK3mWGs8.js +0 -1
- package/dist/assets/chunk-ZPAFE4SF--QJ9WeVC.js +0 -36
- package/dist/assets/circle-check-BjYuTjAK.js +0 -1
- package/dist/assets/circle-play-BwTqLQdh.js +0 -1
- package/dist/assets/circle-plus-a4tnn8hI.js +0 -1
- package/dist/assets/circle-x-Dm9uA-wT.js +0 -1
- package/dist/assets/classDiagram-KNZD7YFC-Dd-A0E6y.js +0 -1
- package/dist/assets/classDiagram-v2-RKCZMP56-z-Bnr2ps.js +0 -1
- package/dist/assets/clear-button-B9Kao2Ra.js +0 -1
- package/dist/assets/click-outside-container-D--uGE-1.js +0 -1
- package/dist/assets/client-CtbBEHVn.js +0 -2
- package/dist/assets/clike-BZaAHvVH.js +0 -1
- package/dist/assets/clipboard-paste-BLsIEx19.js +0 -1
- package/dist/assets/clojure-BSAKKQkc.js +0 -1
- package/dist/assets/cmake-BseABbbj.js +0 -1
- package/dist/assets/cobol-BGW4k037.js +0 -1
- package/dist/assets/coffeescript-C208hoAn.js +0 -1
- package/dist/assets/column-preview-WPlkULp9.js +0 -1
- package/dist/assets/command-Dlk4i3l7.js +0 -1
- package/dist/assets/command-palette-4W9o2iPI.js +0 -1
- package/dist/assets/common-CoBkdbNK.js +0 -1
- package/dist/assets/commonlisp-BIQQ1lKt.js +0 -1
- package/dist/assets/compiler-runtime-Cr9loedd.js +0 -1
- package/dist/assets/config-C6qInAhC.js +0 -1
- package/dist/assets/connection-Bs4SQ_vu.js +0 -1
- package/dist/assets/context-CcLKJeA2.js +0 -1
- package/dist/assets/copy-Dy_tLkL8.js +0 -1
- package/dist/assets/copy-LsxoSTiV.js +0 -1
- package/dist/assets/copy-icon-CE7wmMnS.js +0 -1
- package/dist/assets/cose-bilkent-S5V4N54A--pmwFpj9.js +0 -1
- package/dist/assets/createLucideIcon-CNVopWor.js +0 -6
- package/dist/assets/createReducer-CeLhipaI.js +0 -1
- package/dist/assets/crystal-DCEDH3ZU.js +0 -1
- package/dist/assets/css-Dibnw1Cg.js +0 -1
- package/dist/assets/cypher-DJc3_Mb6.js +0 -1
- package/dist/assets/cytoscape.esm-iv-4upz4.js +0 -325
- package/dist/assets/d-512gkUMN.js +0 -1
- package/dist/assets/dagre-5GWH7T2D-CgiaNo9T.js +0 -4
- package/dist/assets/data-grid-overlay-editor-x2IZajht.js +0 -1
- package/dist/assets/database-zap-CCB1mGaP.js +0 -1
- package/dist/assets/datasources-panel-CQJ_xth2.js +0 -1
- package/dist/assets/dependency-graph-panel-CoeP9rzE.js +0 -4
- package/dist/assets/diagram-N5W7TBWH-DTy9MJII.js +0 -24
- package/dist/assets/diagram-QEK2KX5R-DjOP6gtV.js +0 -43
- package/dist/assets/diagram-S2PKOQOG-C_ZX_NyS.js +0 -24
- package/dist/assets/dialog-BfhgTWm1.js +0 -1
- package/dist/assets/diff-BSd0dkd6.js +0 -1
- package/dist/assets/dist--UfXdLiW.js +0 -1
- package/dist/assets/dist-8_YHxBVW.js +0 -1
- package/dist/assets/dist-B0B_Xnwd.js +0 -1
- package/dist/assets/dist-BCDo28Nu.js +0 -1
- package/dist/assets/dist-BXsTBu5U.js +0 -1
- package/dist/assets/dist-BcgNLefj.js +0 -1
- package/dist/assets/dist-BcppZLnk.js +0 -1
- package/dist/assets/dist-BjGT2Oog.js +0 -1
- package/dist/assets/dist-BkzQhIvQ.js +0 -1
- package/dist/assets/dist-C14Sk-Bd.js +0 -6
- package/dist/assets/dist-C7a7PPDV.js +0 -1
- package/dist/assets/dist-C9Pig92i.js +0 -1
- package/dist/assets/dist-CB99JjHy.js +0 -1
- package/dist/assets/dist-CGXP1wxK.js +0 -1
- package/dist/assets/dist-CMHCymvx.js +0 -7
- package/dist/assets/dist-CPUmJw_F.js +0 -1
- package/dist/assets/dist-CXL8T4lt.js +0 -1
- package/dist/assets/dist-CZtlXGHc.js +0 -3
- package/dist/assets/dist-CbvGwhr0.js +0 -2
- package/dist/assets/dist-Cc4LX4VW.js +0 -1
- package/dist/assets/dist-Cf7ieNCu.js +0 -1
- package/dist/assets/dist-ChBFqf3d.js +0 -1
- package/dist/assets/dist-ColdUi54.js +0 -1
- package/dist/assets/dist-Cq5s066k.js +0 -1
- package/dist/assets/dist-CtrBG6dK.js +0 -1
- package/dist/assets/dist-D-JTXier.js +0 -1
- package/dist/assets/dist-DE0uRLJL.js +0 -1
- package/dist/assets/dist-DJV2CjUA.js +0 -1
- package/dist/assets/dist-DM2w8f7r.js +0 -1
- package/dist/assets/dist-DMn_q1Eh.js +0 -1
- package/dist/assets/dist-DPVK6wJ-.js +0 -1
- package/dist/assets/dist-DRTi9ht4.js +0 -1
- package/dist/assets/dist-DTIHGyk9.js +0 -1
- package/dist/assets/dist-DcDuMWp5.js +0 -13
- package/dist/assets/dist-DlH6tuAC.js +0 -1
- package/dist/assets/dist-Dp1bFraz.js +0 -1
- package/dist/assets/dist-DuCOj_GR.js +0 -1
- package/dist/assets/dist-GE2AwHvG.js +0 -1
- package/dist/assets/dist-GHMC1DDU.js +0 -1
- package/dist/assets/dist-MHIqsPCF.js +0 -13
- package/dist/assets/dist-Oad1venD.js +0 -2
- package/dist/assets/dist-__vbIzp1.js +0 -260
- package/dist/assets/dist-j2I9I0a7.js +0 -1
- package/dist/assets/dist-nhBdVy6b.js +0 -1
- package/dist/assets/dist-o-4-WxUj.js +0 -1
- package/dist/assets/dist-ta4iJSan.js +0 -1
- package/dist/assets/dist-vBG1bGij.js +0 -3
- package/dist/assets/dockerfile-BUQq43xK.js +0 -1
- package/dist/assets/documentation-panel-D-JV0cpO.js +0 -1
- package/dist/assets/download-ByFIcaoi.js +0 -2
- package/dist/assets/download-ptuQ0M1w.js +0 -1
- package/dist/assets/dropdown-menu-uN_XMhZm.js +0 -1
- package/dist/assets/dtd-CfC4g15q.js +0 -1
- package/dist/assets/dylan-CCWaDx6W.js +0 -1
- package/dist/assets/ecl-48jJnqW6.js +0 -1
- package/dist/assets/edit-page-2tBABnJo.js +0 -12
- package/dist/assets/eiffel-KeAY_tfp.js +0 -1
- package/dist/assets/ellipsis-BgenFu2j.js +0 -1
- package/dist/assets/ellipsis-vertical-D4kjq0HQ.js +0 -1
- package/dist/assets/elm-6ttzFDzl.js +0 -1
- package/dist/assets/empty-state-DTECRwMh.js +0 -1
- package/dist/assets/en-US-D2gH55FJ.js +0 -1
- package/dist/assets/erDiagram-AWTI2OKA-BhuG3Zob.js +0 -60
- package/dist/assets/erlang-B81tzdld.js +0 -1
- package/dist/assets/error-banner-DoSAS3iD.js +0 -1
- package/dist/assets/error-panel-DV7lr4JL.js +0 -1
- package/dist/assets/es-vLBD1nBl.js +0 -5
- package/dist/assets/esm-B3nKz9z-.js +0 -1
- package/dist/assets/esm-DtCFmQ1n.js +0 -1
- package/dist/assets/eye-off-_Bp7Ir5E.js +0 -1
- package/dist/assets/factor-CsqObdFm.js +0 -1
- package/dist/assets/factor-DhbRkYZ5.js +0 -1
- package/dist/assets/field-CaHPDBhq.js +0 -1
- package/dist/assets/file-Cz8xVTWu.js +0 -1
- package/dist/assets/file-explorer-panel-CPQDFtpj.js +0 -1
- package/dist/assets/file-plus-2-SQa07cq2.js +0 -1
- package/dist/assets/file-text-CFgIi1A4.js +0 -1
- package/dist/assets/file-video-camera-DJUITpag.js +0 -1
- package/dist/assets/floating-outline-1_-JOoBX.js +0 -1
- package/dist/assets/flowDiagram-PVAE7QVJ-ChyCNRpp.js +0 -162
- package/dist/assets/focus-BaSDCTOl.js +0 -1
- package/dist/assets/form-CaSJmn0I.js +0 -1
- package/dist/assets/form-DaO98mWt.js +0 -2
- package/dist/assets/formats-BN93kMCb.js +0 -1
- package/dist/assets/forth-CQqhzzpN.js +0 -1
- package/dist/assets/fortran-CDldiiXx.js +0 -1
- package/dist/assets/ganttDiagram-OWAHRB6G-DvugH8E5.js +0 -267
- package/dist/assets/gas-Db3M7m4F.js +0 -1
- package/dist/assets/gherkin-CdoWQypz.js +0 -1
- package/dist/assets/gitGraph-ZV4HHKMB-ZSfPRi38.js +0 -1
- package/dist/assets/gitGraphDiagram-NY62KEGX--4NNxjip.js +0 -65
- package/dist/assets/glide-data-editor-Bkx-E5b2.js +0 -132
- package/dist/assets/globals-Dp5TPAWC.js +0 -1
- package/dist/assets/globe-mi3m-i9B.js +0 -1
- package/dist/assets/groovy-DOqC0xtQ.js +0 -1
- package/dist/assets/haskell-CUXnT_9K.js +0 -1
- package/dist/assets/haxe-C2WjsaV6.js +0 -1
- package/dist/assets/home-page-BhB8MZrH.js +0 -4
- package/dist/assets/icons-DaFojEUL.js +0 -1
- package/dist/assets/idl-pJdLdBWn.js +0 -1
- package/dist/assets/image-DW_EcY4T.js +0 -1
- package/dist/assets/index-BXqkmYCF.js +0 -44
- package/dist/assets/index-BmcO-QYJ.css +0 -2
- package/dist/assets/info-63CPKGFF-Bd3YpYFu.js +0 -1
- package/dist/assets/infoDiagram-STP46IZ2-2g5NTHp_.js +0 -2
- package/dist/assets/input-BNb8K99m.js +0 -1
- package/dist/assets/isValid-BJSfXqfd.js +0 -1
- package/dist/assets/javascript-DE5LhuW5.js +0 -1
- package/dist/assets/jinja2-BIbcpWyF.js +0 -1
- package/dist/assets/jinja2-DZTBdZHU.js +0 -1
- package/dist/assets/jotai-BTnrNcC1.js +0 -1
- package/dist/assets/journeyDiagram-BIP6EPQ6-DjdU63y1.js +0 -139
- package/dist/assets/kanban-definition-6OIFK2YF-DeCdxrC0.js +0 -89
- package/dist/assets/katex-CMd6pbfG.js +0 -1
- package/dist/assets/kbd-DbVT085u.js +0 -1
- package/dist/assets/key-Cx1qY8eM.js +0 -1
- package/dist/assets/kiosk-mode-Cw6z28XS.js +0 -1
- package/dist/assets/label-Dcu3RhQ4.js +0 -1
- package/dist/assets/layout-sf56kneH.js +0 -4
- package/dist/assets/lazy-oPCv0nK8.js +0 -2
- package/dist/assets/line-DorFmRYv.js +0 -1
- package/dist/assets/linear-CPlUB2Oz.js +0 -1
- package/dist/assets/link-BFkQTs0I.js +0 -1
- package/dist/assets/links-CMl0qG9J.js +0 -1
- package/dist/assets/links-uXibXl2j.js +0 -1
- package/dist/assets/logs-panel-DsJnG9V6.js +0 -1
- package/dist/assets/loro_wasm_bg-cCDMQ_Gu.js +0 -1
- package/dist/assets/maps-B1z3jt-a.js +0 -1
- package/dist/assets/menu-items-DwOFR2Zi.js +0 -1
- package/dist/assets/mermaid-D_qr_rHI.js +0 -1
- package/dist/assets/mermaid-parser.core-NXSENIcQ.js +0 -4
- package/dist/assets/mermaid.core-Cge03puN.js +0 -1
- package/dist/assets/mermaid.core-mcEAuawO.js +0 -11
- package/dist/assets/mhchem-DNnsXr4C.js +0 -1
- package/dist/assets/mindmap-definition-Q6HEUPPD-Da_059Wn.js +0 -68
- package/dist/assets/mllike-kwEb_VdR.js +0 -1
- package/dist/assets/mode-Bq6LjPC-.js +0 -1
- package/dist/assets/multi-icon-Dgzg2G90.js +0 -1
- package/dist/assets/multi-map-D9JaQ_m6.js +0 -1
- package/dist/assets/name-cell-input-DND1MD7b.js +0 -1
- package/dist/assets/nsis-B-5miwZp.js +0 -1
- package/dist/assets/nsis-znELVT3h.js +0 -1
- package/dist/assets/number-overlay-editor-7APxtkWt.js +0 -9
- package/dist/assets/numbers-CTSqyVyD.js +0 -1
- package/dist/assets/ordinal-Dd9FQufD.js +0 -1
- package/dist/assets/outline-panel-C9yH5I9w.js +0 -1
- package/dist/assets/packages-panel-BPiwOYBi.js +0 -1
- package/dist/assets/packet-HUATNLJX-sz1oFfYu.js +0 -1
- package/dist/assets/pie-WTHONI2E-C0bj5Jbu.js +0 -1
- package/dist/assets/pieDiagram-ADFJNKIX-DiHtCIiJ.js +0 -30
- package/dist/assets/plug-BTyO2pk-.js +0 -1
- package/dist/assets/plus-CRGccegF.js +0 -1
- package/dist/assets/popover-F0Sfc1dn.js +0 -1
- package/dist/assets/precisionRound-Qxa8hC2h.js +0 -1
- package/dist/assets/pug-CloLgaX6.js +0 -1
- package/dist/assets/pug-DUVdXXqU.js +0 -1
- package/dist/assets/purify.es-CPMOFAIu.js +0 -2
- package/dist/assets/python-BoGSLipj.js +0 -1
- package/dist/assets/quadrantDiagram-LMRXKWRM-DxicdQmH.js +0 -7
- package/dist/assets/radar-NJJJXTRR-BIKsYvRT.js +0 -1
- package/dist/assets/react-dom-D6bRRS5R.js +0 -1
- package/dist/assets/react-plotly-Bg7bY4cj.js +0 -4066
- package/dist/assets/react-vega-CRwVRb9c.js +0 -194
- package/dist/assets/react-vega-CYoD34Uk.js +0 -1
- package/dist/assets/readonly-python-code-B4MS39iL.js +0 -1
- package/dist/assets/refresh-ccw-Dg4gNnPm.js +0 -1
- package/dist/assets/refresh-cw-Duwwh0cP.js +0 -1
- package/dist/assets/renderShortcut-DJmsjON-.js +0 -1
- package/dist/assets/request-registry-k13VJQbm.js +0 -1
- package/dist/assets/requests-BACZP_uj.js +0 -1
- package/dist/assets/requests-BZ9D3oC1.js +0 -1
- package/dist/assets/requirementDiagram-4UW4RH46-DvqbriSU.js +0 -64
- package/dist/assets/run-page-iDx4MSjp.js +0 -1
- package/dist/assets/runs-Cc1E9Ytb.js +0 -1
- package/dist/assets/sankeyDiagram-GR3RE2ED-B7imli8w.js +0 -10
- package/dist/assets/save-M3l4CifW.js +0 -1
- package/dist/assets/save-worker-Bn51_kZE.js +0 -58
- package/dist/assets/scratchpad-panel-C_xpdU9y.js +0 -1
- package/dist/assets/secrets-panel-Bzd6Mi0U.js +0 -1
- package/dist/assets/select-5fcaZwou.js +0 -1
- package/dist/assets/send-CTRovYct.js +0 -1
- package/dist/assets/sequenceDiagram-C3RYC4MD-D3QreZOB.js +0 -145
- package/dist/assets/settings-p8vTgdrN.js +0 -1
- package/dist/assets/share-8z32Sr0F.js +0 -1
- package/dist/assets/shim-Cc3VMan6.js +0 -1
- package/dist/assets/slides-component-BT4-csZq.js +0 -1
- package/dist/assets/snippets-panel-BNdYY1W6.js +0 -1
- package/dist/assets/spec-C5SzKl5N.js +0 -1
- package/dist/assets/spinner-CuquyDWA.js +0 -1
- package/dist/assets/square-CYRwTwZO.js +0 -1
- package/dist/assets/square-function-sjebOKTF.js +0 -1
- package/dist/assets/square-terminal-CpNRLkoY.js +0 -1
- package/dist/assets/src-BwH0YUPh.js +0 -1
- package/dist/assets/state-BfH78XJJ.js +0 -1
- package/dist/assets/state-Cm3cZhI-.js +0 -1
- package/dist/assets/state-JZFfOGr9.js +0 -1
- package/dist/assets/stateDiagram-KXAO66HF-C4A-1CGX.js +0 -1
- package/dist/assets/stateDiagram-v2-UMBNRL4Z-Ya_YeL_T.js +0 -1
- package/dist/assets/step-BDtirdXu.js +0 -1
- package/dist/assets/storage-DNJOpVBd.js +0 -1
- package/dist/assets/strings-DHsDEFo-.js +0 -2
- package/dist/assets/switch-4s4187gV.js +0 -1
- package/dist/assets/table-C2gUjtJV.js +0 -1
- package/dist/assets/table-DU76OrPF.js +0 -1
- package/dist/assets/tabs-l9npw3ob.js +0 -1
- package/dist/assets/terminal-NtPz9Wz1.js +0 -10
- package/dist/assets/text-search-IpK7VCPx.js +0 -1
- package/dist/assets/textarea-DeG5mMSH.js +0 -1
- package/dist/assets/time-4HenLWop.js +0 -1
- package/dist/assets/timeline-definition-XQNQX7LJ-DgMQvm3R.js +0 -61
- package/dist/assets/toDate-C3oOx2yr.js +0 -1
- package/dist/assets/toggle-DlfY8wql.js +0 -1
- package/dist/assets/tooltip-BFMRXuzR.js +0 -61
- package/dist/assets/tooltip-BHnVWzH0.js +0 -1
- package/dist/assets/tracing-DOTFVxLy.js +0 -1
- package/dist/assets/tracing-panel-DBh_LItF.js +0 -2
- package/dist/assets/trash-2-BPux4_UF.js +0 -1
- package/dist/assets/trash-CRcefzxk.js +0 -1
- package/dist/assets/tree-CN8xDCJX.js +0 -11
- package/dist/assets/treemap-75Q7IDZK-Bao34u2H.js +0 -1
- package/dist/assets/type-o43RKOcp.js +0 -1
- package/dist/assets/types-Bh2kSb2q.js +0 -17
- package/dist/assets/types-CHAkS4Oz.js +0 -1
- package/dist/assets/use-toast-midBZAtS.js +0 -1
- package/dist/assets/useAddCell-CREgcbTt.js +0 -1
- package/dist/assets/useAsyncData-CngUoIwV.js +0 -1
- package/dist/assets/useBoolean-CpaqzlKu.js +0 -1
- package/dist/assets/useCellActionButton-BIG30Gtv.js +0 -1
- package/dist/assets/useDateFormatter-CPDTrKqK.js +0 -1
- package/dist/assets/useDebounce-DzG_89QJ.js +0 -1
- package/dist/assets/useDeepCompareMemoize-DiJVYA6I.js +0 -1
- package/dist/assets/useDeleteCell-CEsjHDdl.js +0 -1
- package/dist/assets/useEvent-CRDKqG3C.js +0 -1
- package/dist/assets/useEventListener-D1FLsfmf.js +0 -1
- package/dist/assets/useHotkey-NDxGNWnW.js +0 -1
- package/dist/assets/useIframeCapabilities-DXQ78nsN.js +0 -1
- package/dist/assets/useInstallPackage-I3kefbOO.js +0 -1
- package/dist/assets/useInterval-D5tVoshg.js +0 -1
- package/dist/assets/useLifecycle-DogGOXPh.js +0 -1
- package/dist/assets/useNonce-VIoWEX5z.js +0 -1
- package/dist/assets/useNotebookActions-BqA-N7b_.js +0 -1
- package/dist/assets/useNumberFormatter-F8R3LBxf.js +0 -1
- package/dist/assets/usePress-BO20vkQb.js +0 -7
- package/dist/assets/useRunCells-BLpH_l8E.js +0 -1
- package/dist/assets/useSplitCell-xUizPIKw.js +0 -1
- package/dist/assets/useTheme-Biy2QI0v.js +0 -1
- package/dist/assets/utilities.esm-Bjl8-mRM.js +0 -3
- package/dist/assets/utils-DEDX0RLo.js +0 -1
- package/dist/assets/variable-panel-91Oy0ioR.js +0 -1
- package/dist/assets/vega-component-DiS0PwuN.js +0 -1
- package/dist/assets/vega-loader.browser-D2m26-DP.js +0 -6
- package/dist/assets/worker-CUYGINRG.js +0 -101
- package/dist/assets/workflow-D14sQBPI.js +0 -1
- package/dist/assets/write-secret-modal-8_TgMfIA.js +0 -1
- package/dist/assets/ws-DBqs0vJU.js +0 -27
- package/dist/assets/xychartDiagram-6GGTOJPD-DReRhuio.js +0 -7
- package/dist/assets/youtube-CYW7gZLB.js +0 -1
- /package/dist/assets/{apl-BGS-6pM9.js → apl-CAJ5Afpm.js} +0 -0
- /package/dist/assets/{array-4wub28GG.js → array-DAkwBc1M.js} +0 -0
- /package/dist/assets/{asciiarmor-CbQH35y7.js → asciiarmor-B3glo3Hy.js} +0 -0
- /package/dist/assets/{asn1-P7HrFGaM.js → asn1-iaUkdUJn.js} +0 -0
- /package/dist/assets/{blob-ISoY06EG.js → blob-BgGJeXvG.js} +0 -0
- /package/dist/assets/{brainfuck-CSxeyQc4.js → brainfuck-C1Bv_mwK.js} +0 -0
- /package/dist/assets/{chunk-4KMFLZZN-ezSWKPWV.js → chunk-4KMFLZZN-Btk-7pZW.js} +0 -0
- /package/dist/assets/{chunk-57QY23SG-C65JnZtK.js → chunk-57QY23SG-CNHrXEp-.js} +0 -0
- /package/dist/assets/{clike-Bg9duJDo.js → clike-BEDWkorR.js} +0 -0
- /package/dist/assets/{clojure-B94DOmFw.js → clojure-g07QXTjj.js} +0 -0
- /package/dist/assets/{cmake-DQEKyMNG.js → cmake-DnTqIimN.js} +0 -0
- /package/dist/assets/{cn-ZXtYmczU.js → cn-BaXqCYqP.js} +0 -0
- /package/dist/assets/{cobol-CY4gVoPW.js → cobol-BKtG7u9D.js} +0 -0
- /package/dist/assets/{coffeescript-BwWb96Ts.js → coffeescript-D5EX_wGl.js} +0 -0
- /package/dist/assets/{colors-xHoM1JAe.js → colors-vEZNI1u9.js} +0 -0
- /package/dist/assets/{commonlisp-Cq_n1sF6.js → commonlisp-QBdsjaTi.js} +0 -0
- /package/dist/assets/{constants-ClC7lqCE.js → constants-BjxvUqyK.js} +0 -0
- /package/dist/assets/{crystal-BLTq7Sqq.js → crystal-B0kV858U.js} +0 -0
- /package/dist/assets/{css-CmDcdojQ.js → css-lnqtDlV_.js} +0 -0
- /package/dist/assets/{cypher-ByytCYVx.js → cypher-B_ciRc6O.js} +0 -0
- /package/dist/assets/{d-xLFRg71F.js → d-sGSUUdz9.js} +0 -0
- /package/dist/assets/{dagre-DzeXZWsr.js → dagre-DlsQLQOP.js} +0 -0
- /package/dist/assets/{defaultLocale-YmL2k7Vp.js → defaultLocale-D-ie3mwB.js} +0 -0
- /package/dist/assets/{defaultLocale-zQltfbSS.js → defaultLocale-DzEPn_Ia.js} +0 -0
- /package/dist/assets/{diff-VF6GbDch.js → diff-okFUO1eS.js} +0 -0
- /package/dist/assets/{dist-DiomJpDg.js → dist-Bi0uUSZq.js} +0 -0
- /package/dist/assets/{dist-DBrqGLzW.js → dist-D4J1GeSh.js} +0 -0
- /package/dist/assets/{dtd-D8qb8bJW.js → dtd-Covqp7FW.js} +0 -0
- /package/dist/assets/{dylan-CIkom9X4.js → dylan-Bf_wFnkY.js} +0 -0
- /package/dist/assets/{ecl-8wcmTiom.js → ecl-BON4bJzJ.js} +0 -0
- /package/dist/assets/{eiffel-D2ZBcT03.js → eiffel-CWbinnR3.js} +0 -0
- /package/dist/assets/{elm-Cpg3TnMc.js → elm-DKVclpIr.js} +0 -0
- /package/dist/assets/{emotion-is-prop-valid.esm-OoyWz_0l.js → emotion-is-prop-valid.esm-DY_d0mBI.js} +0 -0
- /package/dist/assets/{erlang-B4A2pXCG.js → erlang-D7Lapqoo.js} +0 -0
- /package/dist/assets/{extends-dwNt6GDg.js → extends-BADOB1Xm.js} +0 -0
- /package/dist/assets/{forth-C5F1F4pC.js → forth-CCfEYbe1.js} +0 -0
- /package/dist/assets/{fortran-D7Gl3Tli.js → fortran-ph1UcBiZ.js} +0 -0
- /package/dist/assets/{gas-BS2f8qHc.js → gas-BwHh1zIK.js} +0 -0
- /package/dist/assets/{gherkin-CVZcskwU.js → gherkin-a-S-92sq.js} +0 -0
- /package/dist/assets/{groovy-BhQsBMwW.js → groovy-W6xB3OYy.js} +0 -0
- /package/dist/assets/{haskell-BPbxlKgK.js → haskell-DCE9UteQ.js} +0 -0
- /package/dist/assets/{haxe-TKSAmiMf.js → haxe-CLcQehNU.js} +0 -0
- /package/dist/assets/{hotkeys-ClCtr3_I.js → hotkeys-jCLisiwR.js} +0 -0
- /package/dist/assets/{icon-32x32-YsJOs0Ms.js → icon-32x32-BbDKn-R9.js} +0 -0
- /package/dist/assets/{idl-DFgQu5Ek.js → idl-VKcM9gU6.js} +0 -0
- /package/dist/assets/{init-D34LU3qG.js → init-F9jkgvKE.js} +0 -0
- /package/dist/assets/{javascript-dAA8UGkz.js → javascript-3wn7R2v8.js} +0 -0
- /package/dist/assets/{jsx-runtime-mwDPpfh_.js → jsx-runtime-DmpivWpf.js} +0 -0
- /package/dist/assets/{katex-CkJcqOLL.js → katex-vhOJuooG.js} +0 -0
- /package/dist/assets/{loro_wasm_bg-CfNzVF4q.js → loro_wasm_bg-CnDIZbF4.js} +0 -0
- /package/dist/assets/{math-B-uM5inP.js → math-C9UoZaXa.js} +0 -0
- /package/dist/assets/{mllike-ClozcVVR.js → mllike-BBifUJsv.js} +0 -0
- /package/dist/assets/{objectWithoutPropertiesLoose-COpOcp6W.js → objectWithoutPropertiesLoose-BhduYW5j.js} +0 -0
- /package/dist/assets/{storage-DT9nZQTa.css → panels-DT9nZQTa.css} +0 -0
- /package/dist/assets/{path-CXR-wni1.js → path-C9KI-dzZ.js} +0 -0
- /package/dist/assets/{prop-types-Dr_68tMt.js → prop-types-DVt2dPhq.js} +0 -0
- /package/dist/assets/{python-Bwt6zAaD.js → python-Dt99D71K.js} +0 -0
- /package/dist/assets/{range-Dwpz5kHq.js → range-D-BEpYZE.js} +0 -0
- /package/dist/assets/{react-BcIddLXZ.js → react-cj45iF1i.js} +0 -0
- /package/dist/assets/{simple-mode-BrL6eoj-.js → simple-mode-NsCUKpko.js} +0 -0
- /package/dist/assets/{src-BuVGraFB.js → src-Ci62OB0C.js} +0 -0
- /package/dist/assets/{timer-CTpu0Fa6.js → timer-DTwym5Fp.js} +0 -0
- /package/dist/assets/{treemap-C6-dXGkc.js → treemap-Bw2ef0_x.js} +0 -0
- /package/dist/assets/{types-CmDbpUqg.js → types-idb4QoTQ.js} +0 -0
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
function Ga(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function Wd(e){if(Array.isArray(e))return e}function Ud(e){if(Array.isArray(e))return Ga(e)}function Ht(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function $d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,bs(n.key),n)}}function Zt(e,t,r){return t&&$d(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function xt(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Ka(e))||t){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(s){throw s},f:a}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,o=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var s=r.next();return o=s.done,s},e:function(s){u=!0,i=s},f:function(){try{o||r.return==null||r.return()}finally{if(u)throw i}}}}function ms(e,t,r){return(t=bs(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Gd(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Kd(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,a,i,o,u=[],s=!0,l=!1;try{if(i=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);s=!0);}catch(c){l=!0,a=c}finally{try{if(!s&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(l)throw a}}return u}}function Hd(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
3
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Zd(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
4
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ge(e,t){return Wd(e)||Kd(e,t)||Ka(e,t)||Hd()}function Xn(e){return Ud(e)||Gd(e)||Ka(e)||Zd()}function Qd(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function bs(e){var t=Qd(e,"string");return typeof t=="symbol"?t:t+""}function Ze(e){"@babel/helpers - typeof";return Ze=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ze(e)}function Ka(e,t){if(e){if(typeof e=="string")return Ga(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ga(e,t):void 0}}var Qe=typeof window>"u"?null:window,xs=Qe?Qe.navigator:null;Qe&&Qe.document;var Jd=Ze(""),ws=Ze({}),eh=Ze(function(){}),th=typeof HTMLElement>"u"?"undefined":Ze(HTMLElement),nn=function(e){return e&&e.instanceString&&We(e.instanceString)?e.instanceString():null},ce=function(e){return e!=null&&Ze(e)==Jd},We=function(e){return e!=null&&Ze(e)===eh},ze=function(e){return!Ct(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},Be=function(e){return e!=null&&Ze(e)===ws&&!ze(e)&&e.constructor===Object},rh=function(e){return e!=null&&Ze(e)===ws},ee=function(e){return e!=null&&Ze(e)===Ze(1)&&!isNaN(e)},nh=function(e){return ee(e)&&Math.floor(e)===e},Yn=function(e){if(th!=="undefined")return e!=null&&e instanceof HTMLElement},Ct=function(e){return an(e)||Es(e)},an=function(e){return nn(e)==="collection"&&e._private.single},Es=function(e){return nn(e)==="collection"&&!e._private.single},Ha=function(e){return nn(e)==="core"},ks=function(e){return nn(e)==="stylesheet"},ah=function(e){return nn(e)==="event"},Qt=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},ih=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},oh=function(e){return Be(e)&&ee(e.x1)&&ee(e.x2)&&ee(e.y1)&&ee(e.y2)},sh=function(e){return rh(e)&&We(e.then)},lh=function(){return xs&&xs.userAgent.match(/msie|trident|edge/i)},Rr=function(e,t){t||(t=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var n=[],a=0;a<arguments.length;a++)n.push(arguments[a]);return n.join("$")});var r=function(){var n=this,a=arguments,i,o=t.apply(n,a),u=r.cache;return(i=u[o])||(i=u[o]=e.apply(n,a)),i};return r.cache={},r},Za=Rr(function(e){return e.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}),qn=Rr(function(e){return e.replace(/(-\w)/g,function(t){return t[1].toUpperCase()})}),Ts=Rr(function(e,t){return e+t[0].toUpperCase()+t.substring(1)},function(e,t){return e+"$"+t}),Cs=function(e){return Qt(e)?e:e.charAt(0).toUpperCase()+e.substring(1)},Jt=function(e,t){return e.slice(-1*t.length)===t},Je="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",uh="rgb[a]?\\(("+Je+"[%]?)\\s*,\\s*("+Je+"[%]?)\\s*,\\s*("+Je+"[%]?)(?:\\s*,\\s*("+Je+"))?\\)",ch="rgb[a]?\\((?:"+Je+"[%]?)\\s*,\\s*(?:"+Je+"[%]?)\\s*,\\s*(?:"+Je+"[%]?)(?:\\s*,\\s*(?:"+Je+"))?\\)",dh="hsl[a]?\\(("+Je+")\\s*,\\s*("+Je+"[%])\\s*,\\s*("+Je+"[%])(?:\\s*,\\s*("+Je+"))?\\)",hh="hsl[a]?\\((?:"+Je+")\\s*,\\s*(?:"+Je+"[%])\\s*,\\s*(?:"+Je+"[%])(?:\\s*,\\s*(?:"+Je+"))?\\)",fh="\\#[0-9a-fA-F]{3}",ph="\\#[0-9a-fA-F]{6}",Ps=function(e,t){return e<t?-1:e>t?1:0},gh=function(e,t){return-1*Ps(e,t)},he=Object.assign==null?function(e){for(var t=arguments,r=1;r<t.length;r++){var n=t[r];if(n!=null)for(var a=Object.keys(n),i=0;i<a.length;i++){var o=a[i];e[o]=n[o]}}return e}:Object.assign.bind(Object),vh=function(e){if(!(!(e.length===4||e.length===7)||e[0]!=="#")){var t=e.length===4,r,n,a,i=16;return t?(r=parseInt(e[1]+e[1],i),n=parseInt(e[2]+e[2],i),a=parseInt(e[3]+e[3],i)):(r=parseInt(e[1]+e[2],i),n=parseInt(e[3]+e[4],i),a=parseInt(e[5]+e[6],i)),[r,n,a]}},yh=function(e){var t,r,n,a,i,o,u,s;function l(f,p,v){return v<0&&(v+=1),v>1&&--v,v<1/6?f+(p-f)*6*v:v<1/2?p:v<2/3?f+(p-f)*(2/3-v)*6:f}var c=RegExp("^"+dh+"$").exec(e);if(c){if(r=parseInt(c[1]),r<0?r=(360- -1*r%360)%360:r>360&&(r%=360),r/=360,n=parseFloat(c[2]),n<0||n>100||(n/=100,a=parseFloat(c[3]),a<0||a>100)||(a/=100,i=c[4],i!==void 0&&(i=parseFloat(i),i<0||i>1)))return;if(n===0)o=u=s=Math.round(a*255);else{var d=a<.5?a*(1+n):a+n-a*n,h=2*a-d;o=Math.round(255*l(h,d,r+1/3)),u=Math.round(255*l(h,d,r)),s=Math.round(255*l(h,d,r-1/3))}t=[o,u,s,i]}return t},mh=function(e){var t,r=RegExp("^"+uh+"$").exec(e);if(r){t=[];for(var n=[],a=1;a<=3;a++){var i=r[a];if(i[i.length-1]==="%"&&(n[a]=!0),i=parseFloat(i),n[a]&&(i=i/100*255),i<0||i>255)return;t.push(Math.floor(i))}var o=n[1]||n[2]||n[3],u=n[1]&&n[2]&&n[3];if(o&&!u)return;var s=r[4];if(s!==void 0){if(s=parseFloat(s),s<0||s>1)return;t.push(s)}}return t},bh=function(e){return xh[e.toLowerCase()]},Bs=function(e){return(ze(e)?e:null)||bh(e)||vh(e)||mh(e)||yh(e)},xh={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Ss=function(e){for(var t=e.map,r=e.keys,n=r.length,a=0;a<n;a++){var i=r[a];if(Be(i))throw Error("Tried to set map with object key");a<r.length-1?(t[i]??(t[i]={}),t=t[i]):t[i]=e.value}},Ds=function(e){for(var t=e.map,r=e.keys,n=r.length,a=0;a<n;a++){var i=r[a];if(Be(i))throw Error("Tried to get map with object key");if(t=t[i],t==null)return t}return t},jn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function on(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Qa,As;function sn(){if(As)return Qa;As=1;function e(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}return Qa=e,Qa}var Ja,Rs;function wh(){return Rs||(Rs=1,Ja=typeof jn=="object"&&jn&&jn.Object===Object&&jn),Ja}var ei,_s;function Wn(){if(_s)return ei;_s=1;var e=wh(),t=typeof self=="object"&&self&&self.Object===Object&&self;return ei=e||t||Function("return this")(),ei}var ti,Ms;function Eh(){if(Ms)return ti;Ms=1;var e=Wn();return ti=function(){return e.Date.now()},ti}var ri,Is;function kh(){if(Is)return ri;Is=1;var e=/\s/;function t(r){for(var n=r.length;n--&&e.test(r.charAt(n)););return n}return ri=t,ri}var ni,Ns;function Th(){if(Ns)return ni;Ns=1;var e=kh(),t=/^\s+/;function r(n){return n&&n.slice(0,e(n)+1).replace(t,"")}return ni=r,ni}var ai,Ls;function ii(){return Ls||(Ls=1,ai=Wn().Symbol),ai}var oi,zs;function Ch(){if(zs)return oi;zs=1;var e=ii(),t=Object.prototype,r=t.hasOwnProperty,n=t.toString,a=e?e.toStringTag:void 0;function i(o){var u=r.call(o,a),s=o[a];try{o[a]=void 0;var l=!0}catch{}var c=n.call(o);return l&&(u?o[a]=s:delete o[a]),c}return oi=i,oi}var si,Os;function Ph(){if(Os)return si;Os=1;var e=Object.prototype.toString;function t(r){return e.call(r)}return si=t,si}var li,Vs;function Fs(){if(Vs)return li;Vs=1;var e=ii(),t=Ch(),r=Ph(),n="[object Null]",a="[object Undefined]",i=e?e.toStringTag:void 0;function o(u){return u==null?u===void 0?a:n:i&&i in Object(u)?t(u):r(u)}return li=o,li}var ui,Xs;function Bh(){if(Xs)return ui;Xs=1;function e(t){return typeof t=="object"&&!!t}return ui=e,ui}var ci,Ys;function ln(){if(Ys)return ci;Ys=1;var e=Fs(),t=Bh(),r="[object Symbol]";function n(a){return typeof a=="symbol"||t(a)&&e(a)==r}return ci=n,ci}var di,qs;function Sh(){if(qs)return di;qs=1;var e=Th(),t=sn(),r=ln(),n=NaN,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,u=parseInt;function s(l){if(typeof l=="number")return l;if(r(l))return n;if(t(l)){var c=typeof l.valueOf=="function"?l.valueOf():l;l=t(c)?c+"":c}if(typeof l!="string")return l===0?l:+l;l=e(l);var d=i.test(l);return d||o.test(l)?u(l.slice(2),d?2:8):a.test(l)?n:+l}return di=s,di}var hi,js;function Dh(){if(js)return hi;js=1;var e=sn(),t=Eh(),r=Sh(),n="Expected a function",a=Math.max,i=Math.min;function o(u,s,l){var c,d,h,f,p,v,y=0,g=!1,m=!1,b=!0;if(typeof u!="function")throw TypeError(n);s=r(s)||0,e(l)&&(g=!!l.leading,m="maxWait"in l,h=m?a(r(l.maxWait)||0,s):h,b="trailing"in l?!!l.trailing:b);function x(D){var R=c,_=d;return c=d=void 0,y=D,f=u.apply(_,R),f}function B(D){return y=D,p=setTimeout(S,s),g?x(D):f}function k(D){var R=D-v,_=D-y,I=s-R;return m?i(I,h-_):I}function w(D){var R=D-v,_=D-y;return v===void 0||R>=s||R<0||m&&_>=h}function S(){var D=t();if(w(D))return E(D);p=setTimeout(S,k(D))}function E(D){return p=void 0,b&&c?x(D):(c=d=void 0,f)}function P(){p!==void 0&&clearTimeout(p),y=0,c=v=d=p=void 0}function C(){return p===void 0?f:E(t())}function A(){var D=t(),R=w(D);if(c=arguments,d=this,v=D,R){if(p===void 0)return B(v);if(m)return clearTimeout(p),p=setTimeout(S,s),x(v)}return p===void 0&&(p=setTimeout(S,s)),f}return A.cancel=P,A.flush=C,A}return hi=o,hi}var un=on(Dh()),fi=Qe?Qe.performance:null,Ws=fi&&fi.now?function(){return fi.now()}:function(){return Date.now()},Ah=(function(){if(Qe){if(Qe.requestAnimationFrame)return function(e){Qe.requestAnimationFrame(e)};if(Qe.mozRequestAnimationFrame)return function(e){Qe.mozRequestAnimationFrame(e)};if(Qe.webkitRequestAnimationFrame)return function(e){Qe.webkitRequestAnimationFrame(e)};if(Qe.msRequestAnimationFrame)return function(e){Qe.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout(function(){e(Ws())},1e3/60)}})(),Un=function(e){return Ah(e)},Yt=Ws,gr=9261,Us=65599,_r=5381,$s=function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gr,r;r=e.next(),!r.done;)t=t*Us+r.value|0;return t},cn=function(e){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:gr)*Us+e|0},dn=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_r;return(t<<5)+t+e|0},Rh=function(e,t){return e*2097152+t},er=function(e){return e[0]*2097152+e[1]},$n=function(e,t){return[cn(e[0],t[0]),dn(e[1],t[1])]},Gs=function(e,t){var r={value:0,done:!1},n=0,a=e.length;return $s({next:function(){return n<a?r.value=e[n++]:r.done=!0,r}},t)},vr=function(e,t){var r={value:0,done:!1},n=0,a=e.length;return $s({next:function(){return n<a?r.value=e.charCodeAt(n++):r.done=!0,r}},t)},Ks=function(){return _h(arguments)},_h=function(e){for(var t,r=0;r<e.length;r++){var n=e[r];t=r===0?vr(n):vr(n,t)}return t};function Mh(e,t,r,n,a){var i=a*Math.PI/180;return{x:Math.cos(i)*(e-r)-Math.sin(i)*(t-n)+r,y:Math.sin(i)*(e-r)+Math.cos(i)*(t-n)+n}}var Ih=function(e,t,r,n,a,i){return{x:(e-r)*a+r,y:(t-n)*i+n}};function Nh(e,t,r){if(r===0)return e;var n=(t.x1+t.x2)/2,a=(t.y1+t.y2)/2,i=t.w/t.h,o=1/i,u=Mh(e.x,e.y,n,a,r),s=Ih(u.x,u.y,n,a,i,o);return{x:s.x,y:s.y}}var Hs=!0,Lh=console.warn!=null,zh=console.trace!=null,pi=2**53-1||9007199254740991,Zs=function(){return!0},Gn=function(){return!1},Qs=function(){return 0},gi=function(){},qe=function(e){throw Error(e)},Js=function(e){if(e!==void 0)Hs=!!e;else return Hs},_e=function(e){Js()&&(Lh?console.warn(e):(console.log(e),zh&&console.trace()))},Oh=function(e){return he({},e)},Nt=function(e){return e==null?e:ze(e)?e.slice():Be(e)?Oh(e):e},Vh=function(e){return e.slice()},el=function(e,t){for(t=e="";e++<36;t+=e*51&52?(e^15?8^Math.random()*(e^20?16:4):4).toString(16):"-");return t},Fh={},tl=function(){return Fh},ot=function(e){var t=Object.keys(e);return function(r){for(var n={},a=0;a<t.length;a++){var i=t[a],o=r==null?void 0:r[i];n[i]=o===void 0?e[i]:o}return n}},tr=function(e,t,r){for(var n=e.length-1;n>=0;n--)e[n]===t&&e.splice(n,1)},vi=function(e){e.splice(0,e.length)},Xh=function(e,t){for(var r=0;r<t.length;r++){var n=t[r];e.push(n)}},wt=function(e,t,r){return r&&(t=Ts(r,t)),e[t]},qt=function(e,t,r,n){r&&(t=Ts(r,t)),e[t]=n},Yh=(function(){function e(){Ht(this,e),this._obj={}}return Zt(e,[{key:"set",value:function(t,r){return this._obj[t]=r,this}},{key:"delete",value:function(t){return this._obj[t]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(t){return this._obj[t]!==void 0}},{key:"get",value:function(t){return this._obj[t]}}])})(),jt=typeof Map<"u"?Map:Yh,qh="undefined",jh=(function(){function e(t){if(Ht(this,e),this._obj=Object.create(null),this.size=0,t!=null)for(var r=t.instanceString!=null&&t.instanceString()===this.instanceString()?t.toArray():t,n=0;n<r.length;n++)this.add(r[n])}return Zt(e,[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(t){var r=this._obj;r[t]!==1&&(r[t]=1,this.size++)}},{key:"delete",value:function(t){var r=this._obj;r[t]===1&&(r[t]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(t){return this._obj[t]===1}},{key:"toArray",value:function(){var t=this;return Object.keys(this._obj).filter(function(r){return t.has(r)})}},{key:"forEach",value:function(t,r){return this.toArray().forEach(t,r)}}])})(),Mr=(typeof Set>"u"?"undefined":Ze(Set))===qh?jh:Set,Kn=function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||t===void 0||!Ha(e)){qe("An element must have a core reference and parameters set");return}var n=t.group;if(n??(n=t.data&&t.data.source!=null&&t.data.target!=null?"edges":"nodes"),n!=="nodes"&&n!=="edges"){qe("An element must be of type `nodes` or `edges`; you specified `"+n+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:n,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:t.selectable===void 0?!0:!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:t.grabbable===void 0?!0:!!t.grabbable,pannable:t.pannable===void 0?n==="edges":!!t.pannable,active:!1,classes:new Mr,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x??(a.position.x=0),a.position.y??(a.position.y=0),t.renderedPosition){var i=t.renderedPosition,o=e.pan(),u=e.zoom();a.position={x:(i.x-o.x)/u,y:(i.y-o.y)/u}}var s=[];ze(t.classes)?s=t.classes:ce(t.classes)&&(s=t.classes.split(/\s+/));for(var l=0,c=s.length;l<c;l++){var d=s[l];!d||d===""||a.classes.add(d)}this.createEmitter(),(r===void 0||r)&&this.restore();var h=t.style||t.css;h&&(_e("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(h))},rl=function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},function(t,r,n){var a;Be(t)&&!Ct(t)&&(a=t,t=a.roots||a.root,r=a.visit,n=a.directed),n=arguments.length===2&&!We(r)?r:n,r=We(r)?r:function(){};for(var i=this._private.cy,o=t=ce(t)?this.filter(t):t,u=[],s=[],l={},c={},d={},h=0,f,p=this.byGroup(),v=p.nodes,y=p.edges,g=0;g<o.length;g++){var m=o[g],b=m.id();m.isNode()&&(u.unshift(m),e.bfs&&(d[b]=!0,s.push(m)),c[b]=0)}for(var x=function(){var P=e.bfs?u.shift():u.pop(),C=P.id();if(e.dfs){if(d[C])return 0;d[C]=!0,s.push(P)}var A=c[C],D=l[C],R=D==null?null:D.source(),_=D==null?null:D.target(),I=D==null?void 0:P.same(R)?_[0]:R[0],M=r(P,D,I,h++,A);if(M===!0)return f=P,1;if(M===!1)return 1;for(var N=P.connectedEdges().filter(function(H){return(!n||H.source().same(P))&&y.has(H)}),V=0;V<N.length;V++){var Y=N[V],q=Y.connectedNodes().filter(function(H){return!H.same(P)&&v.has(H)}),W=q.id();q.length!==0&&!d[W]&&(q=q[0],u.push(q),e.bfs&&(d[W]=!0,s.push(q)),l[W]=Y,c[W]=c[C]+1)}},B;u.length!==0&&(B=x(),!(B!==0&&B===1)););for(var k=i.collection(),w=0;w<s.length;w++){var S=s[w],E=l[S.id()];E!=null&&k.push(E),k.push(S)}return{path:i.collection(k),found:i.collection(f)}}},hn={breadthFirstSearch:rl({bfs:!0}),depthFirstSearch:rl({dfs:!0})};hn.bfs=hn.breadthFirstSearch,hn.dfs=hn.depthFirstSearch;var Hn={exports:{}},Wh=Hn.exports,nl;function Uh(){return nl||(nl=1,(function(e,t){(function(){var r,n,a=Math.floor,i,o,u,s,l,c,d=Math.min,h,f,p,v,y;n=function(g,m){return g<m?-1:g>m?1:0},c=function(g,m,b,x,B){var k;if(b??(b=0),B??(B=n),b<0)throw Error("lo must be non-negative");for(x??(x=g.length);b<x;)k=a((b+x)/2),B(m,g[k])<0?x=k:b=k+1;return[].splice.apply(g,[b,b-b].concat(m)),m},u=function(g,m,b){return b??(b=n),g.push(m),v(g,0,g.length-1,b)},o=function(g,m){var b,x;return m??(m=n),b=g.pop(),g.length?(x=g[0],g[0]=b,y(g,0,m)):x=b,x},l=function(g,m,b){var x;return b??(b=n),x=g[0],g[0]=m,y(g,0,b),x},s=function(g,m,b){var x;return b??(b=n),g.length&&b(g[0],m)<0&&(x=[g[0],m],m=x[0],g[0]=x[1],y(g,0,b)),m},i=function(g,m){var b,x,B,k,w,S;for(m??(m=n),k=(function(){S=[];for(var E=0,P=a(g.length/2);0<=P?E<P:E>P;0<=P?E++:E--)S.push(E);return S}).apply(this).reverse(),w=[],x=0,B=k.length;x<B;x++)b=k[x],w.push(y(g,b,m));return w},p=function(g,m,b){var x;if(b??(b=n),x=g.indexOf(m),x!==-1)return v(g,0,x,b),y(g,x,b)},h=function(g,m,b){var x,B,k,w,S;if(b??(b=n),B=g.slice(0,m),!B.length)return B;for(i(B,b),S=g.slice(m),k=0,w=S.length;k<w;k++)x=S[k],s(B,x,b);return B.sort(b).reverse()},f=function(g,m,b){var x,B,k,w,S,E,P,C,A;if(b??(b=n),m*10<=g.length){if(k=g.slice(0,m).sort(b),!k.length)return k;for(B=k[k.length-1],P=g.slice(m),w=0,E=P.length;w<E;w++)x=P[w],b(x,B)<0&&(c(k,x,0,null,b),k.pop(),B=k[k.length-1]);return k}for(i(g,b),A=[],S=0,C=d(m,g.length);0<=C?S<C:S>C;0<=C?++S:--S)A.push(o(g,b));return A},v=function(g,m,b,x){var B,k,w;for(x??(x=n),B=g[b];b>m;){if(w=b-1>>1,k=g[w],x(B,k)<0){g[b]=k,b=w;continue}break}return g[b]=B},y=function(g,m,b){var x,B,k,w,S;for(b??(b=n),B=g.length,S=m,k=g[m],x=2*m+1;x<B;)w=x+1,w<B&&!(b(g[x],g[w])<0)&&(x=w),g[m]=g[x],m=x,x=2*m+1;return g[m]=k,v(g,S,m,b)},r=(function(){g.push=u,g.pop=o,g.replace=l,g.pushpop=s,g.heapify=i,g.updateItem=p,g.nlargest=h,g.nsmallest=f;function g(m){this.cmp=m??n,this.nodes=[]}return g.prototype.push=function(m){return u(this.nodes,m,this.cmp)},g.prototype.pop=function(){return o(this.nodes,this.cmp)},g.prototype.peek=function(){return this.nodes[0]},g.prototype.contains=function(m){return this.nodes.indexOf(m)!==-1},g.prototype.replace=function(m){return l(this.nodes,m,this.cmp)},g.prototype.pushpop=function(m){return s(this.nodes,m,this.cmp)},g.prototype.heapify=function(){return i(this.nodes,this.cmp)},g.prototype.updateItem=function(m){return p(this.nodes,m,this.cmp)},g.prototype.clear=function(){return this.nodes=[]},g.prototype.empty=function(){return this.nodes.length===0},g.prototype.size=function(){return this.nodes.length},g.prototype.clone=function(){var m=new g;return m.nodes=this.nodes.slice(0),m},g.prototype.toArray=function(){return this.nodes.slice(0)},g.prototype.insert=g.prototype.push,g.prototype.top=g.prototype.peek,g.prototype.front=g.prototype.peek,g.prototype.has=g.prototype.contains,g.prototype.copy=g.prototype.clone,g})(),(function(g,m){return e.exports=m()})(this,function(){return r})}).call(Wh)})(Hn)),Hn.exports}var yi,al;function $h(){return al||(al=1,yi=Uh()),yi}var fn=on($h()),Gh=ot({root:null,weight:function(e){return 1},directed:!1}),Kh={dijkstra:function(e){if(!Be(e)){var t=arguments;e={root:t[0],weight:t[1],directed:t[2]}}var r=Gh(e),n=r.root,a=r.weight,i=r.directed,o=this,u=a,s=ce(n)?this.filter(n)[0]:n[0],l={},c={},d={},h=this.byGroup(),f=h.nodes,p=h.edges;p.unmergeBy(function(R){return R.isLoop()});for(var v=function(R){return l[R.id()]},y=function(R,_){l[R.id()]=_,g.updateItem(R)},g=new fn(function(R,_){return v(R)-v(_)}),m=0;m<f.length;m++){var b=f[m];l[b.id()]=b.same(s)?0:1/0,g.push(b)}for(var x=function(R,_){for(var I=(i?R.edgesTo(_):R.edgesWith(_)).intersect(p),M=1/0,N,V=0;V<I.length;V++){var Y=I[V],q=u(Y);(q<M||!N)&&(M=q,N=Y)}return{edge:N,dist:M}};g.size()>0;){var B=g.pop(),k=v(B),w=B.id();if(d[w]=k,k!==1/0)for(var S=B.neighborhood().intersect(f),E=0;E<S.length;E++){var P=S[E],C=P.id(),A=x(B,P),D=k+A.dist;D<v(P)&&(y(P,D),c[C]={node:B,edge:A.edge})}}return{distanceTo:function(R){return d[(ce(R)?f.filter(R)[0]:R[0]).id()]},pathTo:function(R){var _=ce(R)?f.filter(R)[0]:R[0],I=[],M=_,N=M.id();if(_.length>0)for(I.unshift(_);c[N];){var V=c[N];I.unshift(V.edge),I.unshift(V.node),M=V.node,N=M.id()}return o.spawn(I)}}}},Hh={kruskal:function(e){e||(e=function(m){return 1});for(var t=this.byGroup(),r=t.nodes,n=t.edges,a=r.length,i=Array(a),o=r,u=function(m){for(var b=0;b<i.length;b++)if(i[b].has(m))return b},s=0;s<a;s++)i[s]=this.spawn(r[s]);for(var l=n.sort(function(m,b){return e(m)-e(b)}),c=0;c<l.length;c++){var d=l[c],h=d.source()[0],f=d.target()[0],p=u(h),v=u(f),y=i[p],g=i[v];p!==v&&(o.merge(d),y.merge(g),i.splice(v,1))}return o}},Zh=ot({root:null,goal:null,weight:function(e){return 1},heuristic:function(e){return 0},directed:!1}),Qh={aStar:function(e){var t=this.cy(),r=Zh(e),n=r.root,a=r.goal,i=r.heuristic,o=r.directed,u=r.weight;n=t.collection(n)[0],a=t.collection(a)[0];var s=n.id(),l=a.id(),c={},d={},h={},f=new fn(function(V,Y){return d[V.id()]-d[Y.id()]}),p=new Mr,v={},y={},g=function(V,Y){f.push(V),p.add(Y)},m,b,x=function(){m=f.pop(),b=m.id(),p.delete(b)},B=function(V){return p.has(V)};g(n,s),c[s]=0,d[s]=i(n);for(var k=0;f.size()>0;){if(x(),k++,b===l){for(var w=[],S=a,E=l,P=y[E];w.unshift(S),P!=null&&w.unshift(P),S=v[E],S!=null;)E=S.id(),P=y[E];return{found:!0,distance:c[b],path:this.spawn(w),steps:k}}h[b]=!0;for(var C=m._private.edges,A=0;A<C.length;A++){var D=C[A];if(this.hasElementWithId(D.id())&&!(o&&D.data("source")!==b)){var R=D.source(),_=D.target(),I=R.id()===b?_:R,M=I.id();if(this.hasElementWithId(M)&&!h[M]){var N=c[b]+u(D);if(!B(M)){c[M]=N,d[M]=N+i(I),g(I,M),v[M]=m,y[M]=D;continue}N<c[M]&&(c[M]=N,d[M]=N+i(I),v[M]=m,y[M]=D)}}}}return{found:!1,distance:void 0,path:void 0,steps:k}}},Jh=ot({weight:function(e){return 1},directed:!1}),ef={floydWarshall:function(e){for(var t=this.cy(),r=Jh(e),n=r.weight,a=r.directed,i=n,o=this.byGroup(),u=o.nodes,s=o.edges,l=u.length,c=l*l,d=function(V){return u.indexOf(V)},h=function(V){return u[V]},f=Array(c),p=0;p<c;p++){var v=p%l;(p-v)/l===v?f[p]=0:f[p]=1/0}for(var y=Array(c),g=Array(c),m=0;m<s.length;m++){var b=s[m],x=b.source()[0],B=b.target()[0];if(x!==B){var k=d(x),w=d(B),S=k*l+w,E=i(b);if(f[S]>E&&(f[S]=E,y[S]=w,g[S]=b),!a){var P=w*l+k;!a&&f[P]>E&&(f[P]=E,y[P]=k,g[P]=b)}}}for(var C=0;C<l;C++)for(var A=0;A<l;A++)for(var D=A*l+C,R=0;R<l;R++){var _=A*l+R,I=C*l+R;f[D]+f[I]<f[_]&&(f[_]=f[D]+f[I],y[_]=y[D])}var M=function(V){return(ce(V)?t.filter(V):V)[0]},N=function(V){return d(M(V))};return{distance:function(V,Y){var q=N(V),W=N(Y);return f[q*l+W]},path:function(V,Y){var q=N(V),W=N(Y),H=h(q);if(q===W)return H.collection();if(y[q*l+W]==null)return t.collection();var j=t.collection(),$=q,J;for(j.merge(H);q!==W;)$=q,q=y[q*l+W],J=g[$*l+q],j.merge(J),j.merge(h(q));return j}}}},tf=ot({weight:function(e){return 1},directed:!1,root:null}),rf={bellmanFord:function(e){var t=this,r=tf(e),n=r.weight,a=r.directed,i=r.root,o=n,u=this,s=this.cy(),l=this.byGroup(),c=l.edges,d=l.nodes,h=d.length,f=new jt,p=!1,v=[];i=s.collection(i)[0],c.unmergeBy(function(G){return G.isLoop()});for(var y=c.length,g=function(G){var le=f.get(G.id());return le||(le={},f.set(G.id(),le)),le},m=function(G){return(ce(G)?s.$(G):G)[0]},b=function(G){return g(m(G)).dist},x=function(G){for(var le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:i,se=m(G),ye=[],pe=se;;){if(pe==null)return t.spawn();var Te=g(pe),xe=Te.edge,Ce=Te.pred;if(ye.unshift(pe[0]),pe.same(le)&&ye.length>0)break;xe!=null&&ye.unshift(xe),pe=Ce}return u.spawn(ye)},B=0;B<h;B++){var k=d[B],w=g(k);k.same(i)?w.dist=0:w.dist=1/0,w.pred=null,w.edge=null}for(var S=!1,E=function(G,le,se,ye,pe,Te){var xe=ye.dist+Te;xe<pe.dist&&!se.same(ye.edge)&&(pe.dist=xe,pe.pred=G,pe.edge=se,S=!0)},P=1;P<h;P++){S=!1;for(var C=0;C<y;C++){var A=c[C],D=A.source(),R=A.target(),_=o(A),I=g(D),M=g(R);E(D,R,A,I,M,_),a||E(R,D,A,M,I,_)}if(!S)break}if(S)for(var N=[],V=0;V<y;V++){var Y=c[V],q=Y.source(),W=Y.target(),H=o(Y),j=g(q).dist,$=g(W).dist;if(j+H<$||!a&&$+H<j)if(p||(p=(_e("Graph contains a negative weight cycle for Bellman-Ford"),!0)),e.findNegativeWeightCycles!==!1){var J=[];j+H<$&&J.push(q),!a&&$+H<j&&J.push(W);for(var Q=J.length,O=0;O<Q;O++){var z=J[O],F=[z];F.push(g(z).edge);for(var Z=g(z).pred;F.indexOf(Z)===-1;)F.push(Z),F.push(g(Z).edge),Z=g(Z).pred;F=F.slice(F.indexOf(Z));for(var oe=F[0].id(),fe=0,be=2;be<F.length;be+=2)F[be].id()<oe&&(oe=F[be].id(),fe=be);F=F.slice(fe).concat(F.slice(0,fe)),F.push(F[0]);var Le=F.map(function(G){return G.id()}).join(",");N.indexOf(Le)===-1&&(v.push(u.spawn(F)),N.push(Le))}}else break}return{distanceTo:b,pathTo:x,hasNegativeWeightCycle:p,negativeWeightCycles:v}}},nf=Math.sqrt(2),af=function(e,t,r){r.length===0&&qe("Karger-Stein must be run on a connected (sub)graph");for(var n=r[e],a=n[1],i=n[2],o=t[a],u=t[i],s=r,l=s.length-1;l>=0;l--){var c=s[l],d=c[1],h=c[2];(t[d]===o&&t[h]===u||t[d]===u&&t[h]===o)&&s.splice(l,1)}for(var f=0;f<s.length;f++){var p=s[f];p[1]===u?(s[f]=p.slice(),s[f][1]=o):p[2]===u&&(s[f]=p.slice(),s[f][2]=o)}for(var v=0;v<t.length;v++)t[v]===u&&(t[v]=o);return s},mi=function(e,t,r,n){for(;r>n;)t=af(Math.floor(Math.random()*t.length),e,t),r--;return t},of={kargerStein:function(){var e=this,t=this.byGroup(),r=t.nodes,n=t.edges;n.unmergeBy(function(_){return _.isLoop()});var a=r.length,i=n.length,o=Math.ceil((Math.log(a)/Math.LN2)**2),u=Math.floor(a/nf);if(a<2){qe("At least 2 nodes are required for Karger-Stein algorithm");return}for(var s=[],l=0;l<i;l++){var c=n[l];s.push([l,r.indexOf(c.source()),r.indexOf(c.target())])}for(var d=1/0,h=[],f=Array(a),p=Array(a),v=Array(a),y=function(_,I){for(var M=0;M<a;M++)I[M]=_[M]},g=0;g<=o;g++){for(var m=0;m<a;m++)p[m]=m;var b=mi(p,s.slice(),a,u),x=b.slice();y(p,v);var B=mi(p,b,u,2),k=mi(v,x,u,2);B.length<=k.length&&B.length<d?(d=B.length,h=B,y(p,f)):k.length<=B.length&&k.length<d&&(d=k.length,h=k,y(v,f))}for(var w=this.spawn(h.map(function(_){return n[_[0]]})),S=this.spawn(),E=this.spawn(),P=f[0],C=0;C<f.length;C++){var A=f[C],D=r[C];A===P?S.merge(D):E.merge(D)}var R=function(_){var I=e.spawn();return _.forEach(function(M){I.merge(M),M.connectedEdges().forEach(function(N){e.contains(N)&&!w.contains(N)&&I.merge(N)})}),I};return{cut:w,components:[R(S),R(E)],partition1:S,partition2:E}}},sf=function(e){return{x:e.x,y:e.y}},Zn=function(e,t,r){return{x:e.x*t+r.x,y:e.y*t+r.y}},il=function(e,t,r){return{x:(e.x-r.x)/t,y:(e.y-r.y)/t}},Ir=function(e){return{x:e[0],y:e[1]}},lf=function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=1/0,a=t;a<r;a++){var i=e[a];isFinite(i)&&(n=Math.min(i,n))}return n},uf=function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=-1/0,a=t;a<r;a++){var i=e[a];isFinite(i)&&(n=Math.max(i,n))}return n},cf=function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=0,a=0,i=t;i<r;i++){var o=e[i];isFinite(o)&&(n+=o,a++)}return n/a},df=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;n?e=e.slice(t,r):(r<e.length&&e.splice(r,e.length-r),t>0&&e.splice(0,t));for(var o=0,u=e.length-1;u>=0;u--){var s=e[u];i?isFinite(s)||(e[u]=-1/0,o++):e.splice(u,1)}a&&e.sort(function(d,h){return d-h});var l=e.length,c=Math.floor(l/2);return l%2==0?(e[c-1+o]+e[c+o])/2:e[c+1+o]},hf=function(e){return Math.PI*e/180},Qn=function(e,t){return Math.atan2(t,e)-Math.PI/2},bi=Math.log2||function(e){return Math.log(e)/Math.log(2)},xi=function(e){return e>0?1:e<0?-1:0},yr=function(e,t){return Math.sqrt(mr(e,t))},mr=function(e,t){var r=t.x-e.x,n=t.y-e.y;return r*r+n*n},ff=function(e){for(var t=e.length,r=0,n=0;n<t;n++)r+=e[n];for(var a=0;a<t;a++)e[a]=e[a]/r;return e},rt=function(e,t,r,n){return(1-n)*(1-n)*e+2*(1-n)*n*t+n*n*r},Nr=function(e,t,r,n){return{x:rt(e.x,t.x,r.x,n),y:rt(e.y,t.y,r.y,n)}},pf=function(e,t,r,n){var a={x:t.x-e.x,y:t.y-e.y},i=yr(e,t),o={x:a.x/i,y:a.y/i};return r??(r=0),n??(n=r*i),{x:e.x+o.x*n,y:e.y+o.y*n}},pn=function(e,t,r){return Math.max(e,Math.min(r,t))},gt=function(e){if(e==null)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(e.x1!=null&&e.y1!=null){if(e.x2!=null&&e.y2!=null&&e.x2>=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},gf=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},vf=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},yf=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},ol=function(e,t,r){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r),e.y2=Math.max(e.y2,r),e.h=e.y2-e.y1},Jn=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},ea=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],r,n,a,i;if(t.length===1)r=n=a=i=t[0];else if(t.length===2)r=a=t[0],i=n=t[1];else if(t.length===4){var o=Ge(t,4);r=o[0],n=o[1],a=o[2],i=o[3]}return e.x1-=i,e.x2+=n,e.y1-=r,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},sl=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},wi=function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2<t.x1||t.x2<e.x1||e.y2<t.y1||t.y2<e.y1||e.y1>t.y2||t.y1>e.y2)},rr=function(e,t,r){return e.x1<=t&&t<=e.x2&&e.y1<=r&&r<=e.y2},ll=function(e,t){return rr(e,t.x,t.y)},ul=function(e,t){return rr(e,t.x1,t.y1)&&rr(e,t.x2,t.y2)},mf=Math.hypot??function(e,t){return Math.sqrt(e*e+t*t)};function bf(e,t){if(e.length<3)throw Error("Need at least 3 vertices");var r=function(w,S){return{x:w.x+S.x,y:w.y+S.y}},n=function(w,S){return{x:w.x-S.x,y:w.y-S.y}},a=function(w,S){return{x:w.x*S,y:w.y*S}},i=function(w,S){return w.x*S.y-w.y*S.x},o=function(w){var S=mf(w.x,w.y);return S===0?{x:0,y:0}:{x:w.x/S,y:w.y/S}},u=function(w){for(var S=0,E=0;E<w.length;E++){var P=w[E],C=w[(E+1)%w.length];S+=P.x*C.y-C.x*P.y}return S/2},s=function(w,S,E,P){var C=n(S,w),A=n(P,E),D=i(C,A);return Math.abs(D)<1e-9?r(w,a(C,.5)):r(w,a(C,i(n(E,w),A)/D))},l=e.map(function(w){return{x:w.x,y:w.y}});u(l)<0&&l.reverse();for(var c=l.length,d=[],h=0;h<c;h++){var f=l[h],p=l[(h+1)%c],v=n(p,f),y=o({x:v.y,y:-v.x});d.push(y)}for(var g=d.map(function(w,S){return{p1:r(l[S],a(w,t)),p2:r(l[(S+1)%c],a(w,t))}}),m=[],b=0;b<c;b++){var x=g[(b-1+c)%c],B=g[b],k=s(x.p1,x.p2,B.p1,B.p2);m.push(k)}return m}function xf(e,t,r,n,a,i){var o=bf(Df(e,t,r,n,a),i),u=gt();return o.forEach(function(s){return ol(u,s.x,s.y)}),u}var cl=function(e,t,r,n,a,i,o){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",s=u==="auto"?ar(a,i):u,l=a/2,c=i/2;s=Math.min(s,l,c);var d=s!==l,h=s!==c,f;if(d){var p=r-l+s-o,v=n-c-o;if(f=nr(e,t,r,n,p,v,r+l-s+o,v,!1),f.length>0)return f}if(h){var y=r+l+o;if(f=nr(e,t,r,n,y,n-c+s-o,y,n+c-s+o,!1),f.length>0)return f}if(d){var g=r-l+s-o,m=n+c+o;if(f=nr(e,t,r,n,g,m,r+l-s+o,m,!1),f.length>0)return f}if(h){var b=r-l-o;if(f=nr(e,t,r,n,b,n-c+s-o,b,n+c-s+o,!1),f.length>0)return f}var x,B=r-l+s,k=n-c+s;if(x=gn(e,t,r,n,B,k,s+o),x.length>0&&x[0]<=B&&x[1]<=k)return[x[0],x[1]];var w=r+l-s,S=n-c+s;if(x=gn(e,t,r,n,w,S,s+o),x.length>0&&x[0]>=w&&x[1]<=S)return[x[0],x[1]];var E=r+l-s,P=n+c-s;if(x=gn(e,t,r,n,E,P,s+o),x.length>0&&x[0]>=E&&x[1]>=P)return[x[0],x[1]];var C=r-l+s,A=n+c-s;return x=gn(e,t,r,n,C,A,s+o),x.length>0&&x[0]<=C&&x[1]>=A?[x[0],x[1]]:[]},wf=function(e,t,r,n,a,i,o){var u=o,s=Math.min(r,a),l=Math.max(r,a),c=Math.min(n,i),d=Math.max(n,i);return s-u<=e&&e<=l+u&&c-u<=t&&t<=d+u},Ef=function(e,t,r,n,a,i,o,u,s){var l={x1:Math.min(r,o,a)-s,x2:Math.max(r,o,a)+s,y1:Math.min(n,u,i)-s,y2:Math.max(n,u,i)+s};return!(e<l.x1||e>l.x2||t<l.y1||t>l.y2)},kf=function(e,t,r,n){r-=n;var a=t*t-4*e*r;if(a<0)return[];var i=Math.sqrt(a),o=2*e;return[(-t+i)/o,(-t-i)/o]},Tf=function(e,t,r,n,a){e===0&&(e=1e-5),t/=e,r/=e,n/=e;var i,o=(3*r-t*t)/9,u=-(27*n)+t*(9*r-2*(t*t)),s,l,c,d,h;if(u/=54,i=o*o*o+u*u,a[1]=0,d=t/3,i>0){l=u+Math.sqrt(i),l=l<0?-((-l)**(1/3)):l**(1/3),c=u-Math.sqrt(i),c=c<0?-((-c)**(1/3)):c**(1/3),a[0]=-d+l+c,d+=(l+c)/2,a[4]=a[2]=-d,d=Math.sqrt(3)*(-c+l)/2,a[3]=d,a[5]=-d;return}if(a[5]=a[3]=0,i===0){h=u<0?-((-u)**(1/3)):u**(1/3),a[0]=-d+2*h,a[4]=a[2]=-(h+d);return}o=-o,s=o*o*o,s=Math.acos(u/Math.sqrt(s)),h=2*Math.sqrt(o),a[0]=-d+h*Math.cos(s/3),a[2]=-d+h*Math.cos((s+2*Math.PI)/3),a[4]=-d+h*Math.cos((s+4*Math.PI)/3)},Cf=function(e,t,r,n,a,i,o,u){var s=1*r*r-4*r*a+2*r*o+4*a*a-4*a*o+o*o+n*n-4*n*i+2*n*u+4*i*i-4*i*u+u*u,l=9*r*a-3*r*r-3*r*o-6*a*a+3*a*o+9*n*i-3*n*n-3*n*u-6*i*i+3*i*u,c=3*r*r-6*r*a+r*o-r*e+2*a*a+2*a*e-o*e+3*n*n-6*n*i+n*u-n*t+2*i*i+2*i*t-u*t,d=1*r*a-r*r+r*e-a*e+n*i-n*n+n*t-i*t,h=[];Tf(s,l,c,d,h);for(var f=1e-7,p=[],v=0;v<6;v+=2)Math.abs(h[v+1])<f&&h[v]>=0&&h[v]<=1&&p.push(h[v]);p.push(1),p.push(0);for(var y=-1,g,m,b,x=0;x<p.length;x++)g=(1-p[x])**2*r+2*(1-p[x])*p[x]*a+p[x]*p[x]*o,m=(1-p[x])**2*n+2*(1-p[x])*p[x]*i+p[x]*p[x]*u,b=(g-e)**2+(m-t)**2,y>=0?b<y&&(y=b):y=b;return y},Pf=function(e,t,r,n,a,i){var o=[e-r,t-n],u=[a-r,i-n],s=u[0]*u[0]+u[1]*u[1],l=o[0]*o[0]+o[1]*o[1],c=o[0]*u[0]+o[1]*u[1],d=c*c/s;return c<0?l:d>s?(e-a)*(e-a)+(t-i)*(t-i):l-d},Et=function(e,t,r){for(var n,a,i,o,u,s=0,l=0;l<r.length/2;l++)if(n=r[l*2],a=r[l*2+1],l+1<r.length/2?(i=r[(l+1)*2],o=r[(l+1)*2+1]):(i=r[(l+1-r.length/2)*2],o=r[(l+1-r.length/2)*2+1]),!(n==e&&i==e))if(n>=e&&e>=i||n<=e&&e<=i)u=(e-n)/(i-n)*(o-a)+a,u>t&&s++;else continue;return s%2!=0},Wt=function(e,t,r,n,a,i,o,u,s){var l=Array(r.length),c;u[0]==null?c=u:(c=Math.atan(u[1]/u[0]),u[0]<0?c+=Math.PI/2:c=-c-Math.PI/2);for(var d=Math.cos(-c),h=Math.sin(-c),f=0;f<l.length/2;f++)l[f*2]=i/2*(r[f*2]*d-r[f*2+1]*h),l[f*2+1]=o/2*(r[f*2+1]*d+r[f*2]*h),l[f*2]+=n,l[f*2+1]+=a;return Et(e,t,s>0?ta(ra(l,-s)):l)},Bf=function(e,t,r,n,a,i,o,u){for(var s=Array(r.length*2),l=0;l<u.length;l++){var c=u[l];if(s[l*4+0]=c.startX,s[l*4+1]=c.startY,s[l*4+2]=c.stopX,s[l*4+3]=c.stopY,(c.cx-e)**2+(c.cy-t)**2<=c.radius**2)return!0}return Et(e,t,s)},ta=function(e){for(var t=Array(e.length/2),r,n,a,i,o,u,s,l,c=0;c<e.length/4;c++){r=e[c*4],n=e[c*4+1],a=e[c*4+2],i=e[c*4+3],c<e.length/4-1?(o=e[(c+1)*4],u=e[(c+1)*4+1],s=e[(c+1)*4+2],l=e[(c+1)*4+3]):(o=e[0],u=e[1],s=e[2],l=e[3]);var d=nr(r,n,a,i,o,u,s,l,!0);t[c*2]=d[0],t[c*2+1]=d[1]}return t},ra=function(e,t){for(var r=Array(e.length*2),n,a,i,o,u=0;u<e.length/2;u++){n=e[u*2],a=e[u*2+1],u<e.length/2-1?(i=e[(u+1)*2],o=e[(u+1)*2+1]):(i=e[0],o=e[1]);var s=o-a,l=-(i-n),c=Math.sqrt(s*s+l*l),d=s/c,h=l/c;r[u*4]=n+d*t,r[u*4+1]=a+h*t,r[u*4+2]=i+d*t,r[u*4+3]=o+h*t}return r},Sf=function(e,t,r,n,a,i){var o=r-e,u=n-t;o/=a,u/=i;var s=Math.sqrt(o*o+u*u),l=s-1;if(l<0)return[];var c=l/s;return[(r-e)*c+e,(n-t)*c+t]},br=function(e,t,r,n,a,i,o){return e-=a,t-=i,e/=r/2+o,t/=n/2+o,e*e+t*t<=1},gn=function(e,t,r,n,a,i,o){var u=[r-e,n-t],s=[e-a,t-i],l=u[0]*u[0]+u[1]*u[1],c=2*(s[0]*u[0]+s[1]*u[1]),d=s[0]*s[0]+s[1]*s[1]-o*o,h=c*c-4*l*d;if(h<0)return[];var f=(-c+Math.sqrt(h))/(2*l),p=(-c-Math.sqrt(h))/(2*l),v=Math.min(f,p),y=Math.max(f,p),g=[];if(v>=0&&v<=1&&g.push(v),y>=0&&y<=1&&g.push(y),g.length===0)return[];var m=g[0]*u[0]+e,b=g[0]*u[1]+t;return g.length>1?g[0]==g[1]?[m,b]:[m,b,g[1]*u[0]+e,g[1]*u[1]+t]:[m,b]},Ei=function(e,t,r){return t<=e&&e<=r||r<=e&&e<=t?e:e<=t&&t<=r||r<=t&&t<=e?t:r},nr=function(e,t,r,n,a,i,o,u,s){var l=e-a,c=r-e,d=o-a,h=t-i,f=n-t,p=u-i,v=d*h-p*l,y=c*h-f*l,g=p*c-d*f;if(g!==0){var m=v/g,b=y/g,x=.001,B=0-x,k=1+x;return B<=m&&m<=k&&B<=b&&b<=k||s?[e+m*c,t+m*f]:[]}else return v===0||y===0?Ei(e,r,o)===o?[o,u]:Ei(e,r,a)===a?[a,i]:Ei(a,o,r)===r?[r,n]:[]:[]},Df=function(e,t,r,n,a){var i=[],o=n/2,u=a/2,s=t,l=r;i.push({x:s+o*e[0],y:l+u*e[1]});for(var c=1;c<e.length/2;c++)i.push({x:s+o*e[c*2],y:l+u*e[c*2+1]});return i},vn=function(e,t,r,n,a,i,o,u){var s=[],l,c=Array(r.length),d=!0;i??(d=!1);var h;if(d){for(var f=0;f<c.length/2;f++)c[f*2]=r[f*2]*i+n,c[f*2+1]=r[f*2+1]*o+a;h=u>0?ta(ra(c,-u)):c}else h=r;for(var p,v,y,g,m=0;m<h.length/2;m++)p=h[m*2],v=h[m*2+1],m<h.length/2-1?(y=h[(m+1)*2],g=h[(m+1)*2+1]):(y=h[0],g=h[1]),l=nr(e,t,n,a,p,v,y,g),l.length!==0&&s.push(l[0],l[1]);return s},Af=function(e,t,r,n,a,i,o,u,s){var l=[],c,d=Array(r.length*2);s.forEach(function(g,m){m===0?(d[d.length-2]=g.startX,d[d.length-1]=g.startY):(d[m*4-2]=g.startX,d[m*4-1]=g.startY),d[m*4]=g.stopX,d[m*4+1]=g.stopY,c=gn(e,t,n,a,g.cx,g.cy,g.radius),c.length!==0&&l.push(c[0],c[1])});for(var h=0;h<d.length/4;h++)c=nr(e,t,n,a,d[h*4],d[h*4+1],d[h*4+2],d[h*4+3],!1),c.length!==0&&l.push(c[0],c[1]);if(l.length>2){for(var f=[l[0],l[1]],p=(f[0]-e)**2+(f[1]-t)**2,v=1;v<l.length/2;v++){var y=(l[v*2]-e)**2+(l[v*2+1]-t)**2;y<=p&&(f[0]=l[v*2],f[1]=l[v*2+1],p=y)}return f}return l},na=function(e,t,r){var n=[e[0]-t[0],e[1]-t[1]],a=Math.sqrt(n[0]*n[0]+n[1]*n[1]),i=(a-r)/a;return i<0&&(i=1e-5),[t[0]+i*n[0],t[1]+i*n[1]]},vt=function(e,t){var r=ki(e,t);return r=dl(r),r},dl=function(e){for(var t,r,n=e.length/2,a=1/0,i=1/0,o=-1/0,u=-1/0,s=0;s<n;s++)t=e[2*s],r=e[2*s+1],a=Math.min(a,t),o=Math.max(o,t),i=Math.min(i,r),u=Math.max(u,r);for(var l=2/(o-a),c=2/(u-i),d=0;d<n;d++)t=e[2*d]=e[2*d]*l,r=e[2*d+1]=e[2*d+1]*c,a=Math.min(a,t),o=Math.max(o,t),i=Math.min(i,r),u=Math.max(u,r);if(i<-1)for(var h=0;h<n;h++)r=e[2*h+1]=e[2*h+1]+(-1-i);return e},ki=function(e,t){var r=1/e*2*Math.PI,n=e%2==0?Math.PI/2+r/2:Math.PI/2;n+=t;for(var a=Array(e*2),i,o=0;o<e;o++)i=o*r+n,a[2*o]=Math.cos(i),a[2*o+1]=Math.sin(-i);return a},ar=function(e,t){return Math.min(e/4,t/4,8)},hl=function(e,t){return Math.min(e/10,t/10,8)},Ti=function(){return 8},Rf=function(e,t,r){return[e-2*t+r,2*(t-e),e]},Ci=function(e,t){return{heightOffset:Math.min(15,.05*t),widthOffset:Math.min(100,.25*e),ctrlPtOffsetPct:.05}};function Pi(e,t){function r(s){for(var l=[],c=0;c<s.length;c++){var d=s[c],h=s[(c+1)%s.length],f={x:h.x-d.x,y:h.y-d.y},p={x:-f.y,y:f.x},v=Math.sqrt(p.x*p.x+p.y*p.y);l.push({x:p.x/v,y:p.y/v})}return l}function n(s,l){var c=1/0,d=-1/0,h=xt(s),f;try{for(h.s();!(f=h.n()).done;){var p=f.value,v=p.x*l.x+p.y*l.y;c=Math.min(c,v),d=Math.max(d,v)}}catch(y){h.e(y)}finally{h.f()}return{min:c,max:d}}function a(s,l){return!(s.max<l.min||l.max<s.min)}var i=xt([].concat(Xn(r(e)),Xn(r(t)))),o;try{for(i.s();!(o=i.n()).done;){var u=o.value;if(!a(n(e,u),n(t,u)))return!1}}catch(s){i.e(s)}finally{i.f()}return!0}var _f=ot({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(e){return 1}}),Mf={pageRank:function(e){for(var t=_f(e),r=t.dampingFactor,n=t.precision,a=t.iterations,i=t.weight,o=this._private.cy,u=this.byGroup(),s=u.nodes,l=u.edges,c=s.length,d=c*c,h=l.length,f=Array(d),p=Array(c),v=(1-r)/c,y=0;y<c;y++){for(var g=0;g<c;g++){var m=y*c+g;f[m]=0}p[y]=0}for(var b=0;b<h;b++){var x=l[b],B=x.data("source"),k=x.data("target");if(B!==k){var w=s.indexOfId(B),S=s.indexOfId(k),E=i(x),P=S*c+w;f[P]+=E,p[w]+=E}}for(var C=1/c+v,A=0;A<c;A++)if(p[A]===0)for(var D=0;D<c;D++){var R=D*c+A;f[R]=C}else for(var _=0;_<c;_++){var I=_*c+A;f[I]=f[I]/p[A]+v}for(var M=Array(c),N=Array(c),V,Y=0;Y<c;Y++)M[Y]=1;for(var q=0;q<a;q++){for(var W=0;W<c;W++)N[W]=0;for(var H=0;H<c;H++)for(var j=0;j<c;j++){var $=H*c+j;N[H]+=f[$]*M[j]}ff(N),V=M,M=N,N=V;for(var J=0,Q=0;Q<c;Q++){var O=V[Q]-M[Q];J+=O*O}if(J<n)break}return{rank:function(z){return z=o.collection(z)[0],M[s.indexOf(z)]}}}},fl=ot({root:null,weight:function(e){return 1},directed:!1,alpha:0}),Lr={degreeCentralityNormalized:function(e){e=fl(e);var t=this.cy(),r=this.nodes(),n=r.length;if(e.directed){for(var a={},i={},o=0,u=0,s=0;s<n;s++){var l=r[s],c=l.id();e.root=l;var d=this.degreeCentrality(e);o<d.indegree&&(o=d.indegree),u<d.outdegree&&(u=d.outdegree),a[c]=d.indegree,i[c]=d.outdegree}return{indegree:function(g){return o==0?0:(ce(g)&&(g=t.filter(g)),a[g.id()]/o)},outdegree:function(g){return u===0?0:(ce(g)&&(g=t.filter(g)),i[g.id()]/u)}}}else{for(var h={},f=0,p=0;p<n;p++){var v=r[p];e.root=v;var y=this.degreeCentrality(e);f<y.degree&&(f=y.degree),h[v.id()]=y.degree}return{degree:function(g){return f===0?0:(ce(g)&&(g=t.filter(g)),h[g.id()]/f)}}}},degreeCentrality:function(e){e=fl(e);var t=this.cy(),r=this,n=e,a=n.root,i=n.weight,o=n.directed,u=n.alpha;if(a=t.collection(a)[0],o){for(var s=a.connectedEdges(),l=s.filter(function(B){return B.target().same(a)&&r.has(B)}),c=s.filter(function(B){return B.source().same(a)&&r.has(B)}),d=l.length,h=c.length,f=0,p=0,v=0;v<l.length;v++)f+=i(l[v]);for(var y=0;y<c.length;y++)p+=i(c[y]);return{indegree:d**(1-u)*f**+u,outdegree:h**(1-u)*p**+u}}else{for(var g=a.connectedEdges().intersection(r),m=g.length,b=0,x=0;x<g.length;x++)b+=i(g[x]);return{degree:m**(1-u)*b**+u}}}};Lr.dc=Lr.degreeCentrality,Lr.dcn=Lr.degreeCentralityNormalised=Lr.degreeCentralityNormalized;var pl=ot({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),zr={closenessCentralityNormalized:function(e){for(var t=pl(e),r=t.harmonic,n=t.weight,a=t.directed,i=this.cy(),o={},u=0,s=this.nodes(),l=this.floydWarshall({weight:n,directed:a}),c=0;c<s.length;c++){for(var d=0,h=s[c],f=0;f<s.length;f++)if(c!==f){var p=l.distance(h,s[f]);r?d+=1/p:d+=p}r||(d=1/d),u<d&&(u=d),o[h.id()]=d}return{closeness:function(v){return u==0?0:(v=ce(v)?i.filter(v)[0].id():v.id(),o[v]/u)}}},closenessCentrality:function(e){var t=pl(e),r=t.root,n=t.weight,a=t.directed,i=t.harmonic;r=this.filter(r)[0];for(var o=this.dijkstra({root:r,weight:n,directed:a}),u=0,s=this.nodes(),l=0;l<s.length;l++){var c=s[l];if(!c.same(r)){var d=o.distanceTo(c);i?u+=1/d:u+=d}}return i?u:1/u}};zr.cc=zr.closenessCentrality,zr.ccn=zr.closenessCentralityNormalised=zr.closenessCentralityNormalized;var If=ot({weight:null,directed:!1}),Bi={betweennessCentrality:function(e){for(var t=If(e),r=t.directed,n=t.weight,a=n!=null,i=this.cy(),o=this.nodes(),u={},s={},l=0,c={set:function(g,m){s[g]=m,m>l&&(l=m)},get:function(g){return s[g]}},d=0;d<o.length;d++){var h=o[d],f=h.id();r?u[f]=h.outgoers().nodes():u[f]=h.openNeighborhood().nodes(),c.set(f,0)}for(var p=function(){for(var g=o[v].id(),m=[],b={},x={},B={},k=new fn(function(W,H){return B[W]-B[H]}),w=0;w<o.length;w++){var S=o[w].id();b[S]=[],x[S]=0,B[S]=1/0}for(x[g]=1,B[g]=0,k.push(g);!k.empty();){var E=k.pop();if(m.push(E),a)for(var P=0;P<u[E].length;P++){var C=u[E][P],A=i.getElementById(E),D=void 0;D=A.edgesTo(C).length>0?A.edgesTo(C)[0]:C.edgesTo(A)[0];var R=n(D);C=C.id(),B[C]>B[E]+R&&(B[C]=B[E]+R,k.nodes.indexOf(C)<0?k.push(C):k.updateItem(C),x[C]=0,b[C]=[]),B[C]==B[E]+R&&(x[C]=x[C]+x[E],b[C].push(E))}else for(var _=0;_<u[E].length;_++){var I=u[E][_].id();B[I]==1/0&&(k.push(I),B[I]=B[E]+1),B[I]==B[E]+1&&(x[I]=x[I]+x[E],b[I].push(E))}}for(var M={},N=0;N<o.length;N++)M[o[N].id()]=0;for(;m.length>0;){for(var V=m.pop(),Y=0;Y<b[V].length;Y++){var q=b[V][Y];M[q]=M[q]+x[q]/x[V]*(1+M[V])}V!=o[v].id()&&c.set(V,c.get(V)+M[V])}},v=0;v<o.length;v++)p();var y={betweenness:function(g){var m=i.collection(g).id();return c.get(m)},betweennessNormalized:function(g){if(l==0)return 0;var m=i.collection(g).id();return c.get(m)/l}};return y.betweennessNormalised=y.betweennessNormalized,y}};Bi.bc=Bi.betweennessCentrality;var Nf=ot({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(e){return 1}]}),Lf=function(e){return Nf(e)},zf=function(e,t){for(var r=0,n=0;n<t.length;n++)r+=t[n](e);return r},Of=function(e,t,r){for(var n=0;n<t;n++)e[n*t+n]=r},gl=function(e,t){for(var r,n=0;n<t;n++){r=0;for(var a=0;a<t;a++)r+=e[a*t+n];for(var i=0;i<t;i++)e[i*t+n]=e[i*t+n]/r}},Vf=function(e,t,r){for(var n=Array(r*r),a=0;a<r;a++){for(var i=0;i<r;i++)n[a*r+i]=0;for(var o=0;o<r;o++)for(var u=0;u<r;u++)n[a*r+u]+=e[a*r+o]*t[o*r+u]}return n},Ff=function(e,t,r){for(var n=e.slice(0),a=1;a<r;a++)e=Vf(e,n,t);return e},Xf=function(e,t,r){for(var n=Array(t*t),a=0;a<t*t;a++)n[a]=e[a]**+r;return gl(n,t),n},Yf=function(e,t,r,n){for(var a=0;a<r;a++)if(Math.round(e[a]*10**n)/10**n!=Math.round(t[a]*10**n)/10**n)return!1;return!0},qf=function(e,t,r,n){for(var a=[],i=0;i<t;i++){for(var o=[],u=0;u<t;u++)Math.round(e[i*t+u]*1e3)/1e3>0&&o.push(r[u]);o.length!==0&&a.push(n.collection(o))}return a},jf=function(e,t){for(var r=0;r<e.length;r++)if(!t[r]||e[r].id()!==t[r].id())return!1;return!0},Wf=function(e){for(var t=0;t<e.length;t++)for(var r=0;r<e.length;r++)t!=r&&jf(e[t],e[r])&&e.splice(r,1);return e},vl=function(e){for(var t=this.nodes(),r=this.edges(),n=this.cy(),a=Lf(e),i={},o=0;o<t.length;o++)i[t[o].id()]=o;for(var u=t.length,s=u*u,l=Array(s),c,d=0;d<s;d++)l[d]=0;for(var h=0;h<r.length;h++){var f=r[h],p=i[f.source().id()],v=i[f.target().id()],y=zf(f,a.attributes);l[p*u+v]+=y,l[v*u+p]+=y}Of(l,u,a.multFactor),gl(l,u);for(var g=!0,m=0;g&&m<a.maxIterations;)g=!1,c=Ff(l,u,a.expandFactor),l=Xf(c,u,a.inflateFactor),Yf(l,c,s,4)||(g=!0),m++;var b=qf(l,u,t,n);return b=Wf(b),b},Uf={markovClustering:vl,mcl:vl},$f=function(e){return e},yl=function(e,t){return Math.abs(t-e)},ml=function(e,t,r){return e+yl(t,r)},bl=function(e,t,r){return e+(r-t)**2},Gf=function(e){return Math.sqrt(e)},Kf=function(e,t,r){return Math.max(e,yl(t,r))},yn=function(e,t,r,n,a){for(var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:$f,o=n,u,s,l=0;l<e;l++)u=t(l),s=r(l),o=a(o,u,s);return i(o)},Or={euclidean:function(e,t,r){return e>=2?yn(e,t,r,0,bl,Gf):yn(e,t,r,0,ml)},squaredEuclidean:function(e,t,r){return yn(e,t,r,0,bl)},manhattan:function(e,t,r){return yn(e,t,r,0,ml)},max:function(e,t,r){return yn(e,t,r,-1/0,Kf)}};Or["squared-euclidean"]=Or.squaredEuclidean,Or.squaredeuclidean=Or.squaredEuclidean;function aa(e,t,r,n,a,i){var o=We(e)?e:Or[e]||Or.euclidean;return t===0&&We(e)?o(a,i):o(t,r,n,a,i)}var Hf=ot({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),Si=function(e){return Hf(e)},ia=function(e,t,r,n,a){var i=a==="kMedoids"?function(l){return n[l](r)}:function(l){return r[l]},o=function(l){return n[l](t)},u=r,s=t;return aa(e,n.length,i,o,u,s)},Di=function(e,t,r){for(var n=r.length,a=Array(n),i=Array(n),o=Array(t),u=null,s=0;s<n;s++)a[s]=e.min(r[s]).value,i[s]=e.max(r[s]).value;for(var l=0;l<t;l++){u=[];for(var c=0;c<n;c++)u[c]=Math.random()*(i[c]-a[c])+a[c];o[l]=u}return o},xl=function(e,t,r,n,a){for(var i=1/0,o=0,u=0;u<t.length;u++){var s=ia(r,e,t[u],n,a);s<i&&(i=s,o=u)}return o},wl=function(e,t,r){for(var n=[],a=null,i=0;i<t.length;i++)a=t[i],r[a.id()]===e&&n.push(a);return n},Zf=function(e,t,r){return Math.abs(t-e)<=r},Qf=function(e,t,r){for(var n=0;n<e.length;n++)for(var a=0;a<e[n].length;a++)if(Math.abs(e[n][a]-t[n][a])>r)return!1;return!0},Jf=function(e,t,r){for(var n=0;n<r;n++)if(e===t[n])return!0;return!1},El=function(e,t){var r=Array(t);if(e.length<50)for(var n=0;n<t;n++){for(var a=e[Math.floor(Math.random()*e.length)];Jf(a,r,n);)a=e[Math.floor(Math.random()*e.length)];r[n]=a}else for(var i=0;i<t;i++)r[i]=e[Math.floor(Math.random()*e.length)];return r},kl=function(e,t,r){for(var n=0,a=0;a<t.length;a++)n+=ia("manhattan",t[a],e,r,"kMedoids");return n},ep=function(e){var t=this.cy(),r=this.nodes(),n=null,a=Si(e),i=Array(a.k),o={},u;a.testMode?typeof a.testCentroids=="number"?(a.testCentroids,u=Di(r,a.k,a.attributes)):u=Ze(a.testCentroids)==="object"?a.testCentroids:Di(r,a.k,a.attributes):u=Di(r,a.k,a.attributes);for(var s=!0,l=0;s&&l<a.maxIterations;){for(var c=0;c<r.length;c++)n=r[c],o[n.id()]=xl(n,u,a.distance,a.attributes,"kMeans");s=!1;for(var d=0;d<a.k;d++){var h=wl(d,r,o);if(h.length!==0){for(var f=a.attributes.length,p=u[d],v=Array(f),y=Array(f),g=0;g<f;g++){y[g]=0;for(var m=0;m<h.length;m++)n=h[m],y[g]+=a.attributes[g](n);v[g]=y[g]/h.length,Zf(v[g],p[g],a.sensitivityThreshold)||(s=!0)}u[d]=v,i[d]=t.collection(h)}}l++}return i},tp=function(e){var t=this.cy(),r=this.nodes(),n=null,a=Si(e),i=Array(a.k),o,u={},s,l=Array(a.k);a.testMode?typeof a.testCentroids=="number"||(o=Ze(a.testCentroids)==="object"?a.testCentroids:El(r,a.k)):o=El(r,a.k);for(var c=!0,d=0;c&&d<a.maxIterations;){for(var h=0;h<r.length;h++)n=r[h],u[n.id()]=xl(n,o,a.distance,a.attributes,"kMedoids");c=!1;for(var f=0;f<o.length;f++){var p=wl(f,r,u);if(p.length!==0){l[f]=kl(o[f],p,a.attributes);for(var v=0;v<p.length;v++)s=kl(p[v],p,a.attributes),s<l[f]&&(l[f]=s,o[f]=p[v],c=!0);i[f]=t.collection(p)}}d++}return i},rp=function(e,t,r,n,a){for(var i,o,u=0;u<t.length;u++)for(var s=0;s<e.length;s++)n[u][s]=r[u][s]**+a.m;for(var l=0;l<e.length;l++)for(var c=0;c<a.attributes.length;c++){i=0,o=0;for(var d=0;d<t.length;d++)i+=n[d][l]*a.attributes[c](t[d]),o+=n[d][l];e[l][c]=i/o}},np=function(e,t,r,n,a){for(var i=0;i<e.length;i++)t[i]=e[i].slice();for(var o,u,s,l=2/(a.m-1),c=0;c<r.length;c++)for(var d=0;d<n.length;d++){o=0;for(var h=0;h<r.length;h++)u=ia(a.distance,n[d],r[c],a.attributes,"cmeans"),s=ia(a.distance,n[d],r[h],a.attributes,"cmeans"),o+=(u/s)**+l;e[d][c]=1/o}},ap=function(e,t,r,n){for(var a=Array(r.k),i=0;i<a.length;i++)a[i]=[];for(var o,u,s=0;s<t.length;s++){o=-1/0,u=-1;for(var l=0;l<t[0].length;l++)t[s][l]>o&&(o=t[s][l],u=l);a[u].push(e[s])}for(var c=0;c<a.length;c++)a[c]=n.collection(a[c]);return a},Tl=function(e){for(var t=this.cy(),r=this.nodes(),n=Si(e),a,i,o,u=Array(r.length),s,l=0;l<r.length;l++)u[l]=Array(n.k);o=Array(r.length);for(var c=0;c<r.length;c++)o[c]=Array(n.k);for(var d=0;d<r.length;d++){for(var h=0,f=0;f<n.k;f++)o[d][f]=Math.random(),h+=o[d][f];for(var p=0;p<n.k;p++)o[d][p]=o[d][p]/h}i=Array(n.k);for(var v=0;v<n.k;v++)i[v]=Array(n.attributes.length);s=Array(r.length);for(var y=0;y<r.length;y++)s[y]=Array(n.k);for(var g=!0,m=0;g&&m<n.maxIterations;)g=!1,rp(i,r,o,s,n),np(o,u,i,r,n),Qf(o,u,n.sensitivityThreshold)||(g=!0),m++;return a=ap(r,o,n,t),{clusters:a,degreeOfMembership:o}},ip={kMeans:ep,kMedoids:tp,fuzzyCMeans:Tl,fcm:Tl},op=ot({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),sp={single:"min",complete:"max"},lp=function(e){var t=op(e),r=sp[t.linkage];return r!=null&&(t.linkage=r),t},Cl=function(e,t,r,n,a){for(var i=0,o=1/0,u,s=a.attributes,l=function(w,S){return aa(a.distance,s.length,function(E){return s[E](w)},function(E){return s[E](S)},w,S)},c=0;c<e.length;c++){var d=e[c].key,h=r[d][n[d]];h<o&&(i=d,o=h)}if(a.mode==="threshold"&&o>=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var f=t[i],p=t[n[i]],v=a.mode==="dendrogram"?{left:f,right:p,key:f.key}:{value:f.value.concat(p.value),key:f.key};e[f.index]=v,e.splice(p.index,1),t[f.key]=v;for(var y=0;y<e.length;y++){var g=e[y];f.key===g.key?u=1/0:a.linkage==="min"?(u=r[f.key][g.key],r[f.key][g.key]>r[p.key][g.key]&&(u=r[p.key][g.key])):a.linkage==="max"?(u=r[f.key][g.key],r[f.key][g.key]<r[p.key][g.key]&&(u=r[p.key][g.key])):u=a.linkage==="mean"?(r[f.key][g.key]*f.size+r[p.key][g.key]*p.size)/(f.size+p.size):a.mode==="dendrogram"?l(g.value,f.value):l(g.value[0],f.value[0]),r[f.key][g.key]=r[g.key][f.key]=u}for(var m=0;m<e.length;m++){var b=e[m].key;if(n[b]===f.key||n[b]===p.key){for(var x=b,B=0;B<e.length;B++){var k=e[B].key;r[b][k]<r[b][x]&&(x=k)}n[b]=x}e[m].index=m}return f.key=p.key=f.index=p.index=null,!0},Vr=function(e,t,r){e&&(e.value?t.push(e.value):(e.left&&Vr(e.left,t),e.right&&Vr(e.right,t)))},Ai=function(e,t){if(!e)return"";if(e.left&&e.right){var r=Ai(e.left,t),n=Ai(e.right,t),a=t.add({group:"nodes",data:{id:r+","+n}});return t.add({group:"edges",data:{source:r,target:a.id()}}),t.add({group:"edges",data:{source:n,target:a.id()}}),a.id()}else if(e.value)return e.value.id()},Ri=function(e,t,r){if(!e)return[];var n=[],a=[],i=[];return t===0?(e.left&&Vr(e.left,n),e.right&&Vr(e.right,a),i=n.concat(a),[r.collection(i)]):t===1?e.value?[r.collection(e.value)]:(e.left&&Vr(e.left,n),e.right&&Vr(e.right,a),[r.collection(n),r.collection(a)]):e.value?[r.collection(e.value)]:(e.left&&(n=Ri(e.left,t-1,r)),e.right&&(a=Ri(e.right,t-1,r)),n.concat(a))},Pl=function(e){for(var t=this.cy(),r=this.nodes(),n=lp(e),a=n.attributes,i=function(g,m){return aa(n.distance,a.length,function(b){return a[b](g)},function(b){return a[b](m)},g,m)},o=[],u=[],s=[],l=[],c=0;c<r.length;c++){var d={value:n.mode==="dendrogram"?r[c]:[r[c]],key:c,index:c};o[c]=d,l[c]=d,u[c]=[],s[c]=0}for(var h=0;h<o.length;h++)for(var f=0;f<=h;f++){var p=void 0;p=n.mode==="dendrogram"?h===f?1/0:i(o[h].value,o[f].value):h===f?1/0:i(o[h].value[0],o[f].value[0]),u[h][f]=p,u[f][h]=p,p<u[h][s[h]]&&(s[h]=f)}for(var v=Cl(o,l,u,s,n);v;)v=Cl(o,l,u,s,n);var y;return n.mode==="dendrogram"?(y=Ri(o[0],n.dendrogramDepth,t),n.addDendrogram&&Ai(o[0],t)):(y=Array(o.length),o.forEach(function(g,m){g.key=g.index=null,y[m]=t.collection(g.value)})),y},up={hierarchicalClustering:Pl,hca:Pl},cp=ot({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),dp=function(e){var t=e.damping,r=e.preference;.5<=t&&t<1||qe(`Damping must range on [0.5, 1). Got: ${t}`);var n=["median","mean","min","max"];return n.some(function(a){return a===r})||ee(r)||qe(`Preference must be one of [${n.map(function(a){return`'${a}'`}).join(", ")}] or a number. Got: ${r}`),cp(e)},hp=function(e,t,r,n){var a=function(i,o){return n[o](i)};return-aa(e,n.length,function(i){return a(t,i)},function(i){return a(r,i)},t,r)},fp=function(e,t){var r=null;return r=t==="median"?df(e):t==="mean"?cf(e):t==="min"?lf(e):t==="max"?uf(e):t,r},pp=function(e,t,r){for(var n=[],a=0;a<e;a++)t[a*e+a]+r[a*e+a]>0&&n.push(a);return n},Bl=function(e,t,r){for(var n=[],a=0;a<e;a++){for(var i=-1,o=-1/0,u=0;u<r.length;u++){var s=r[u];t[a*e+s]>o&&(i=s,o=t[a*e+s])}i>0&&n.push(i)}for(var l=0;l<r.length;l++)n[r[l]]=r[l];return n},gp=function(e,t,r){for(var n=Bl(e,t,r),a=0;a<r.length;a++){for(var i=[],o=0;o<n.length;o++)n[o]===r[a]&&i.push(o);for(var u=-1,s=-1/0,l=0;l<i.length;l++){for(var c=0,d=0;d<i.length;d++)c+=t[i[d]*e+i[l]];c>s&&(u=l,s=c)}r[a]=i[u]}return n=Bl(e,t,r),n},Sl=function(e){for(var t=this.cy(),r=this.nodes(),n=dp(e),a={},i=0;i<r.length;i++)a[r[i].id()]=i;for(var o=r.length,u=o*o,s=Array(u),l,c,d,h=0;h<u;h++)s[h]=-1/0;for(var f=0;f<o;f++)for(var p=0;p<o;p++)f!==p&&(s[f*o+p]=hp(n.distance,r[f],r[p],n.attributes));l=fp(s,n.preference);for(var v=0;v<o;v++)s[v*o+v]=l;c=Array(u);for(var y=0;y<u;y++)c[y]=0;d=Array(u);for(var g=0;g<u;g++)d[g]=0;for(var m=Array(o),b=Array(o),x=Array(o),B=0;B<o;B++)m[B]=0,b[B]=0,x[B]=0;for(var k=Array(o*n.minIterations),w=0;w<k.length;w++)k[w]=0;var S;for(S=0;S<n.maxIterations;S++){for(var E=0;E<o;E++){for(var P=-1/0,C=-1/0,A=-1,D=0,R=0;R<o;R++)m[R]=c[E*o+R],D=d[E*o+R]+s[E*o+R],D>=P?(C=P,P=D,A=R):D>C&&(C=D);for(var _=0;_<o;_++)c[E*o+_]=(1-n.damping)*(s[E*o+_]-P)+n.damping*m[_];c[E*o+A]=(1-n.damping)*(s[E*o+A]-C)+n.damping*m[A]}for(var I=0;I<o;I++){for(var M=0,N=0;N<o;N++)m[N]=d[N*o+I],b[N]=Math.max(0,c[N*o+I]),M+=b[N];M-=b[I],b[I]=c[I*o+I],M+=b[I];for(var V=0;V<o;V++)d[V*o+I]=(1-n.damping)*Math.min(0,M-b[V])+n.damping*m[V];d[I*o+I]=(1-n.damping)*(M-b[I])+n.damping*m[I]}for(var Y=0,q=0;q<o;q++){var W=d[q*o+q]+c[q*o+q]>0?1:0;k[S%n.minIterations*o+q]=W,Y+=W}if(Y>0&&(S>=n.minIterations-1||S==n.maxIterations-1)){for(var H=0,j=0;j<o;j++){x[j]=0;for(var $=0;$<n.minIterations;$++)x[j]+=k[$*o+j];(x[j]===0||x[j]===n.minIterations)&&H++}if(H===o)break}}for(var J=pp(o,c,d),Q=gp(o,s,J),O={},z=0;z<J.length;z++)O[J[z]]=[];for(var F=0;F<r.length;F++){var Z=Q[a[r[F].id()]];Z!=null&&O[Z].push(r[F])}for(var oe=Array(J.length),fe=0;fe<J.length;fe++)oe[fe]=t.collection(O[J[fe]]);return oe},vp={affinityPropagation:Sl,ap:Sl},yp=ot({root:void 0,directed:!1}),mp={hierholzer:function(e){if(!Be(e)){var t=arguments;e={root:t[0],directed:t[1]}}var r=yp(e),n=r.root,a=r.directed,i=this,o=!1,u,s,l;n&&(l=ce(n)?this.filter(n)[0].id():n[0].id());var c={},d={};a?i.forEach(function(g){var m=g.id();if(g.isNode()){var b=g.indegree(!0),x=g.outdegree(!0),B=b-x,k=x-b;B==1?u?o=!0:u=m:k==1?s?o=!0:s=m:(k>1||B>1)&&(o=!0),c[m]=[],g.outgoers().forEach(function(w){w.isEdge()&&c[m].push(w.id())})}else d[m]=[void 0,g.target().id()]}):i.forEach(function(g){var m=g.id();g.isNode()?(g.degree(!0)%2&&(u?s?o=!0:s=m:u=m),c[m]=[],g.connectedEdges().forEach(function(b){return c[m].push(b.id())})):d[m]=[g.source().id(),g.target().id()]});var h={found:!1,trail:void 0};if(o)return h;if(s&&u)if(a){if(l&&s!=l)return h;l=s}else{if(l&&s!=l&&u!=l)return h;l||(l=s)}else l||(l=i[0].id());var f=function(g){for(var m=g,b=[g],x,B,k;c[m].length;)x=c[m].shift(),B=d[x][0],k=d[x][1],m==k?!a&&m!=B&&(c[B]=c[B].filter(function(w){return w!=x}),m=B):(c[k]=c[k].filter(function(w){return w!=x}),m=k),b.unshift(x),b.unshift(m);return b},p=[],v=[];for(v=f(l);v.length!=1;)c[v[0]].length==0?(p.unshift(i.getElementById(v.shift())),p.unshift(i.getElementById(v.shift()))):v=f(v.shift()).concat(v);for(var y in p.unshift(i.getElementById(v.shift())),c)if(c[y].length)return h;return h.found=!0,h.trail=this.spawn(p,!0),h}},oa=function(){var e=this,t={},r=0,n=0,a=[],i=[],o={},u=function(c,d){for(var h=i.length-1,f=[],p=e.spawn();i[h].x!=c||i[h].y!=d;)f.push(i.pop().edge),h--;f.push(i.pop().edge),f.forEach(function(v){var y=v.connectedNodes().intersection(e);p.merge(v),y.forEach(function(g){var m=g.id(),b=g.connectedEdges().intersection(e);p.merge(g),t[m].cutVertex?p.merge(b.filter(function(x){return x.isLoop()})):p.merge(b)})}),a.push(p)},s=function(c,d,h){c===h&&(n+=1),t[d]={id:r,low:r++,cutVertex:!1};var f=e.getElementById(d).connectedEdges().intersection(e);if(f.size()===0)a.push(e.spawn(e.getElementById(d)));else{var p,v,y,g;f.forEach(function(m){p=m.source().id(),v=m.target().id(),y=p===d?v:p,y!==h&&(g=m.id(),o[g]||(o[g]=!0,i.push({x:d,y,edge:m})),y in t?t[d].low=Math.min(t[d].low,t[y].id):(s(c,y,d),t[d].low=Math.min(t[d].low,t[y].low),t[d].id<=t[y].low&&(t[d].cutVertex=!0,u(d,y))))})}};e.forEach(function(c){if(c.isNode()){var d=c.id();d in t||(n=0,s(d,d),t[d].cutVertex=n>1)}});var l=Object.keys(t).filter(function(c){return t[c].cutVertex}).map(function(c){return e.getElementById(c)});return{cut:e.spawn(l),components:a}},bp={hopcroftTarjanBiconnected:oa,htbc:oa,htb:oa,hopcroftTarjanBiconnectedComponents:oa},sa=function(){var e=this,t={},r=0,n=[],a=[],i=e.spawn(e),o=function(u){if(a.push(u),t[u]={index:r,low:r++,explored:!1},e.getElementById(u).connectedEdges().intersection(e).forEach(function(h){var f=h.target().id();f!==u&&(f in t||o(f),t[f].explored||(t[u].low=Math.min(t[u].low,t[f].low)))}),t[u].index===t[u].low){for(var s=e.spawn();;){var l=a.pop();if(s.merge(e.getElementById(l)),t[l].low=t[u].index,t[l].explored=!0,l===u)break}var c=s.edgesWith(s),d=s.merge(c);n.push(d),i=i.difference(d)}};return e.forEach(function(u){if(u.isNode()){var s=u.id();s in t||o(s)}}),{cut:i,components:n}},xp={tarjanStronglyConnected:sa,tsc:sa,tscc:sa,tarjanStronglyConnectedComponents:sa},Dl={};[hn,Kh,Hh,Qh,ef,rf,of,Mf,Lr,zr,Bi,Uf,ip,up,vp,mp,bp,xp].forEach(function(e){he(Dl,e)});var Al=0,Rl=1,_l=2,Rt=function(e){if(!(this instanceof Rt))return new Rt(e);this.id="Thenable/1.0.7",this.state=Al,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};Rt.prototype={fulfill:function(e){return Ml(this,Rl,"fulfillValue",e)},reject:function(e){return Ml(this,_l,"rejectReason",e)},then:function(e,t){var r=this,n=new Rt;return r.onFulfilled.push(Ll(e,n,"fulfill")),r.onRejected.push(Ll(t,n,"reject")),Il(r),n.proxy}};var Ml=function(e,t,r,n){return e.state===Al&&(e.state=t,e[r]=n,Il(e)),e},Il=function(e){e.state===Rl?Nl(e,"onFulfilled",e.fulfillValue):e.state===_l&&Nl(e,"onRejected",e.rejectReason)},Nl=function(e,t,r){if(e[t].length!==0){var n=e[t];e[t]=[];var a=function(){for(var i=0;i<n.length;i++)n[i](r)};typeof setImmediate=="function"?setImmediate(a):setTimeout(a,0)}},Ll=function(e,t,r){return function(n){if(typeof e!="function")t[r].call(t,n);else{var a;try{a=e(n)}catch(i){t.reject(i);return}zl(t,a)}}},zl=function(e,t){if(e===t||e.proxy===t){e.reject(TypeError("cannot resolve promise with itself"));return}var r;if(Ze(t)==="object"&&t!==null||typeof t=="function")try{r=t.then}catch(a){e.reject(a);return}if(typeof r=="function"){var n=!1;try{r.call(t,function(a){n||(n=!0,a===t?e.reject(TypeError("circular thenable chain")):zl(e,a))},function(a){n||(n=!0,e.reject(a))})}catch(a){n||e.reject(a)}return}e.fulfill(t)};Rt.all=function(e){return new Rt(function(t,r){for(var n=Array(e.length),a=0,i=function(u,s){n[u]=s,a++,a===e.length&&t(n)},o=0;o<e.length;o++)(function(u){var s=e[u];s!=null&&s.then!=null?s.then(function(l){i(u,l)},function(l){r(l)}):i(u,s)})(o)})},Rt.resolve=function(e){return new Rt(function(t,r){t(e)})},Rt.reject=function(e){return new Rt(function(t,r){r(e)})};var Fr=typeof Promise<"u"?Promise:Rt,_i=function(e,t,r){var n=Ha(e),a=!n,i=this._private=he({duration:1e3},t,r);if(i.target=e,i.style=i.style||i.css,i.started=!1,i.playing=!1,i.hooked=!1,i.applying=!1,i.progress=0,i.completes=[],i.frames=[],i.complete&&We(i.complete)&&i.completes.push(i.complete),a){var o=e.position();i.startPosition=i.startPosition||{x:o.x,y:o.y},i.startStyle=i.startStyle||e.cy().style().getAnimationStartStyle(e,i.style)}if(n){var u=e.pan();i.startPan={x:u.x,y:u.y},i.startZoom=e.zoom()}this.length=1,this[0]=this},xr=_i.prototype;he(xr,{instanceString:function(){return"animation"},hook:function(){var e=this._private;if(!e.hooked){var t,r=e.target._private.animation;t=e.queue?r.queue:r.current,t.push(this),Ct(e.target)&&e.target.cy().addToAnimationPool(e.target),e.hooked=!0}return this},play:function(){var e=this._private;return e.progress===1&&(e.progress=0),e.playing=!0,e.started=!1,e.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var e=this._private;return e.applying=!0,e.started=!1,e.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var e=this._private;return e.playing=!1,e.started=!1,this},stop:function(){var e=this._private;return e.playing=!1,e.started=!1,e.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(e){var t=this._private;return e===void 0?t.progress*t.duration:this.progress(e/t.duration)},progress:function(e){var t=this._private,r=t.playing;return e===void 0?t.progress:(r&&this.pause(),t.progress=e,t.started=!1,r&&this.play(),this)},completed:function(){return this._private.progress===1},reverse:function(){var e=this._private,t=e.playing;t&&this.pause(),e.progress=1-e.progress,e.started=!1;var r=function(u,s){var l=e[u];l!=null&&(e[u]=e[s],e[s]=l)};if(r("zoom","startZoom"),r("pan","startPan"),r("position","startPosition"),e.style)for(var n=0;n<e.style.length;n++){var a=e.style[n],i=a.name,o=e.startStyle[i];e.startStyle[i]=a,e.style[n]=o}return t&&this.play(),this},promise:function(e){var t=this._private,r;switch(e){case"frame":r=t.frames;break;default:case"complete":case"completed":r=t.completes}return new Fr(function(n,a){r.push(function(){n()})})}}),xr.complete=xr.completed,xr.run=xr.play,xr.running=xr.playing;var wp={animated:function(){return function(){var e=this,t=e.length===void 0?[e]:e;if(!(this._private.cy||this).styleEnabled())return!1;var r=t[0];if(r)return r._private.animation.current.length>0}},clearQueue:function(){return function(){var e=this,t=e.length===void 0?[e]:e;if(!(this._private.cy||this).styleEnabled())return this;for(var r=0;r<t.length;r++){var n=t[r];n._private.animation.queue=[]}return this}},delay:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animate({delay:e,duration:e,complete:t}):this}},delayAnimation:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animation({delay:e,duration:e,complete:t}):this}},animation:function(){return function(e,t){var r=this,n=r.length!==void 0,a=n?r:[r],i=this._private.cy||this,o=!n,u=!o;if(!i.styleEnabled())return this;var s=i.style();if(e=he({},e,t),Object.keys(e).length===0)return new _i(a[0],e);switch(e.duration===void 0&&(e.duration=400),e.duration){case"slow":e.duration=600;break;case"fast":e.duration=200;break}if(u&&(e.style=s.getPropsList(e.style||e.css),e.css=void 0),u&&e.renderedPosition!=null){var l=e.renderedPosition,c=i.pan();e.position=il(l,i.zoom(),c)}if(o&&e.panBy!=null){var d=e.panBy,h=i.pan();e.pan={x:h.x+d.x,y:h.y+d.y}}var f=e.center||e.centre;if(o&&f!=null){var p=i.getCenterPan(f.eles,e.zoom);p!=null&&(e.pan=p)}if(o&&e.fit!=null){var v=e.fit,y=i.getFitViewport(v.eles||v.boundingBox,v.padding);y!=null&&(e.pan=y.pan,e.zoom=y.zoom)}if(o&&Be(e.zoom)){var g=i.getZoomedViewport(e.zoom);g==null?e.zoom=null:(g.zoomed&&(e.zoom=g.zoom),g.panned&&(e.pan=g.pan))}return new _i(a[0],e)}},animate:function(){return function(e,t){var r=this,n=r.length===void 0?[r]:r;if(!(this._private.cy||this).styleEnabled())return this;t&&(e=he({},e,t));for(var a=0;a<n.length;a++){var i=n[a],o=i.animated()&&(e.queue===void 0||e.queue);i.animation(e,o?{queue:!0}:void 0).play()}return this}},stop:function(){return function(e,t){var r=this,n=r.length===void 0?[r]:r,a=this._private.cy||this;if(!a.styleEnabled())return this;for(var i=0;i<n.length;i++){for(var o=n[i]._private,u=o.animation.current,s=0;s<u.length;s++){var l=u[s]._private;t&&(l.duration=0)}e&&(o.animation.queue=[]),t||(o.animation.current=[])}return a.notify("draw"),this}}},Mi,Ol;function la(){return Ol||(Ol=1,Mi=Array.isArray),Mi}var Ii,Vl;function Ep(){if(Vl)return Ii;Vl=1;var e=la(),t=ln(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function a(i,o){if(e(i))return!1;var u=typeof i;return u=="number"||u=="symbol"||u=="boolean"||i==null||t(i)?!0:n.test(i)||!r.test(i)||o!=null&&i in Object(o)}return Ii=a,Ii}var Ni,Fl;function kp(){if(Fl)return Ni;Fl=1;var e=Fs(),t=sn(),r="[object AsyncFunction]",n="[object Function]",a="[object GeneratorFunction]",i="[object Proxy]";function o(u){if(!t(u))return!1;var s=e(u);return s==n||s==a||s==r||s==i}return Ni=o,Ni}var Li,Xl;function Tp(){return Xl||(Xl=1,Li=Wn()["__core-js_shared__"]),Li}var zi,Yl;function Cp(){if(Yl)return zi;Yl=1;var e=Tp(),t=(function(){var n=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""})();function r(n){return!!t&&t in n}return zi=r,zi}var Oi,ql;function Pp(){if(ql)return Oi;ql=1;var e=Function.prototype.toString;function t(r){if(r!=null){try{return e.call(r)}catch{}try{return r+""}catch{}}return""}return Oi=t,Oi}var Vi,jl;function Bp(){if(jl)return Vi;jl=1;var e=kp(),t=Cp(),r=sn(),n=Pp(),a=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,o=Function.prototype,u=Object.prototype,s=o.toString,l=u.hasOwnProperty,c=RegExp("^"+s.call(l).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function d(h){return!r(h)||t(h)?!1:(e(h)?c:i).test(n(h))}return Vi=d,Vi}var Fi,Wl;function Sp(){if(Wl)return Fi;Wl=1;function e(t,r){return t==null?void 0:t[r]}return Fi=e,Fi}var Xi,Ul;function Yi(){if(Ul)return Xi;Ul=1;var e=Bp(),t=Sp();function r(n,a){var i=t(n,a);return e(i)?i:void 0}return Xi=r,Xi}var qi,$l;function ua(){return $l||($l=1,qi=Yi()(Object,"create")),qi}var ji,Gl;function Dp(){if(Gl)return ji;Gl=1;var e=ua();function t(){this.__data__=e?e(null):{},this.size=0}return ji=t,ji}var Wi,Kl;function Ap(){if(Kl)return Wi;Kl=1;function e(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}return Wi=e,Wi}var Ui,Hl;function Rp(){if(Hl)return Ui;Hl=1;var e=ua(),t="__lodash_hash_undefined__",r=Object.prototype.hasOwnProperty;function n(a){var i=this.__data__;if(e){var o=i[a];return o===t?void 0:o}return r.call(i,a)?i[a]:void 0}return Ui=n,Ui}var $i,Zl;function _p(){if(Zl)return $i;Zl=1;var e=ua(),t=Object.prototype.hasOwnProperty;function r(n){var a=this.__data__;return e?a[n]!==void 0:t.call(a,n)}return $i=r,$i}var Gi,Ql;function Mp(){if(Ql)return Gi;Ql=1;var e=ua(),t="__lodash_hash_undefined__";function r(n,a){var i=this.__data__;return this.size+=this.has(n)?0:1,i[n]=e&&a===void 0?t:a,this}return Gi=r,Gi}var Ki,Jl;function Ip(){if(Jl)return Ki;Jl=1;var e=Dp(),t=Ap(),r=Rp(),n=_p(),a=Mp();function i(o){var u=-1,s=o==null?0:o.length;for(this.clear();++u<s;){var l=o[u];this.set(l[0],l[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,Ki=i,Ki}var Hi,eu;function Np(){if(eu)return Hi;eu=1;function e(){this.__data__=[],this.size=0}return Hi=e,Hi}var Zi,tu;function ru(){if(tu)return Zi;tu=1;function e(t,r){return t===r||t!==t&&r!==r}return Zi=e,Zi}var Qi,nu;function ca(){if(nu)return Qi;nu=1;var e=ru();function t(r,n){for(var a=r.length;a--;)if(e(r[a][0],n))return a;return-1}return Qi=t,Qi}var Ji,au;function Lp(){if(au)return Ji;au=1;var e=ca(),t=Array.prototype.splice;function r(n){var a=this.__data__,i=e(a,n);return i<0?!1:(i==a.length-1?a.pop():t.call(a,i,1),--this.size,!0)}return Ji=r,Ji}var eo,iu;function zp(){if(iu)return eo;iu=1;var e=ca();function t(r){var n=this.__data__,a=e(n,r);return a<0?void 0:n[a][1]}return eo=t,eo}var to,ou;function Op(){if(ou)return to;ou=1;var e=ca();function t(r){return e(this.__data__,r)>-1}return to=t,to}var ro,su;function Vp(){if(su)return ro;su=1;var e=ca();function t(r,n){var a=this.__data__,i=e(a,r);return i<0?(++this.size,a.push([r,n])):a[i][1]=n,this}return ro=t,ro}var no,lu;function Fp(){if(lu)return no;lu=1;var e=Np(),t=Lp(),r=zp(),n=Op(),a=Vp();function i(o){var u=-1,s=o==null?0:o.length;for(this.clear();++u<s;){var l=o[u];this.set(l[0],l[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,no=i,no}var ao,uu;function Xp(){return uu||(uu=1,ao=Yi()(Wn(),"Map")),ao}var io,cu;function Yp(){if(cu)return io;cu=1;var e=Ip(),t=Fp(),r=Xp();function n(){this.size=0,this.__data__={hash:new e,map:new(r||t),string:new e}}return io=n,io}var oo,du;function qp(){if(du)return oo;du=1;function e(t){var r=typeof t;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?t!=="__proto__":t===null}return oo=e,oo}var so,hu;function da(){if(hu)return so;hu=1;var e=qp();function t(r,n){var a=r.__data__;return e(n)?a[typeof n=="string"?"string":"hash"]:a.map}return so=t,so}var lo,fu;function jp(){if(fu)return lo;fu=1;var e=da();function t(r){var n=e(this,r).delete(r);return this.size-=n?1:0,n}return lo=t,lo}var uo,pu;function Wp(){if(pu)return uo;pu=1;var e=da();function t(r){return e(this,r).get(r)}return uo=t,uo}var co,gu;function Up(){if(gu)return co;gu=1;var e=da();function t(r){return e(this,r).has(r)}return co=t,co}var ho,vu;function $p(){if(vu)return ho;vu=1;var e=da();function t(r,n){var a=e(this,r),i=a.size;return a.set(r,n),this.size+=a.size==i?0:1,this}return ho=t,ho}var fo,yu;function Gp(){if(yu)return fo;yu=1;var e=Yp(),t=jp(),r=Wp(),n=Up(),a=$p();function i(o){var u=-1,s=o==null?0:o.length;for(this.clear();++u<s;){var l=o[u];this.set(l[0],l[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,fo=i,fo}var po,mu;function Kp(){if(mu)return po;mu=1;var e=Gp(),t="Expected a function";function r(n,a){if(typeof n!="function"||a!=null&&typeof a!="function")throw TypeError(t);var i=function(){var o=arguments,u=a?a.apply(this,o):o[0],s=i.cache;if(s.has(u))return s.get(u);var l=n.apply(this,o);return i.cache=s.set(u,l)||s,l};return i.cache=new(r.Cache||e),i}return r.Cache=e,po=r,po}var go,bu;function Hp(){if(bu)return go;bu=1;var e=Kp(),t=500;function r(n){var a=e(n,function(o){return i.size===t&&i.clear(),o}),i=a.cache;return a}return go=r,go}var vo,xu;function wu(){if(xu)return vo;xu=1;var e=Hp(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g;return vo=e(function(n){var a=[];return n.charCodeAt(0)===46&&a.push(""),n.replace(t,function(i,o,u,s){a.push(u?s.replace(r,"$1"):o||i)}),a}),vo}var yo,Eu;function ku(){if(Eu)return yo;Eu=1;function e(t,r){for(var n=-1,a=t==null?0:t.length,i=Array(a);++n<a;)i[n]=r(t[n],n,t);return i}return yo=e,yo}var mo,Tu;function Zp(){if(Tu)return mo;Tu=1;var e=ii(),t=ku(),r=la(),n=ln(),a=e?e.prototype:void 0,i=a?a.toString:void 0;function o(u){if(typeof u=="string")return u;if(r(u))return t(u,o)+"";if(n(u))return i?i.call(u):"";var s=u+"";return s=="0"&&1/u==-1/0?"-0":s}return mo=o,mo}var bo,Cu;function Pu(){if(Cu)return bo;Cu=1;var e=Zp();function t(r){return r==null?"":e(r)}return bo=t,bo}var xo,Bu;function Su(){if(Bu)return xo;Bu=1;var e=la(),t=Ep(),r=wu(),n=Pu();function a(i,o){return e(i)?i:t(i,o)?[i]:r(n(i))}return xo=a,xo}var wo,Du;function Eo(){if(Du)return wo;Du=1;var e=ln();function t(r){if(typeof r=="string"||e(r))return r;var n=r+"";return n=="0"&&1/r==-1/0?"-0":n}return wo=t,wo}var ko,Au;function Qp(){if(Au)return ko;Au=1;var e=Su(),t=Eo();function r(n,a){a=e(a,n);for(var i=0,o=a.length;n!=null&&i<o;)n=n[t(a[i++])];return i&&i==o?n:void 0}return ko=r,ko}var To,Ru;function Jp(){if(Ru)return To;Ru=1;var e=Qp();function t(r,n,a){var i=r==null?void 0:e(r,n);return i===void 0?a:i}return To=t,To}var eg=on(Jp()),Co,_u;function tg(){if(_u)return Co;_u=1;var e=Yi();return Co=(function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch{}})(),Co}var Po,Mu;function rg(){if(Mu)return Po;Mu=1;var e=tg();function t(r,n,a){n=="__proto__"&&e?e(r,n,{configurable:!0,enumerable:!0,value:a,writable:!0}):r[n]=a}return Po=t,Po}var Bo,Iu;function ng(){if(Iu)return Bo;Iu=1;var e=rg(),t=ru(),r=Object.prototype.hasOwnProperty;function n(a,i,o){var u=a[i];(!(r.call(a,i)&&t(u,o))||o===void 0&&!(i in a))&&e(a,i,o)}return Bo=n,Bo}var So,Nu;function ag(){if(Nu)return So;Nu=1;var e=9007199254740991,t=/^(?:0|[1-9]\d*)$/;function r(n,a){var i=typeof n;return a??(a=e),!!a&&(i=="number"||i!="symbol"&&t.test(n))&&n>-1&&n%1==0&&n<a}return So=r,So}var Do,Lu;function ig(){if(Lu)return Do;Lu=1;var e=ng(),t=Su(),r=ag(),n=sn(),a=Eo();function i(o,u,s,l){if(!n(o))return o;u=t(u,o);for(var c=-1,d=u.length,h=d-1,f=o;f!=null&&++c<d;){var p=a(u[c]),v=s;if(p==="__proto__"||p==="constructor"||p==="prototype")return o;if(c!=h){var y=f[p];v=l?l(y,p,f):void 0,v===void 0&&(v=n(y)?y:r(u[c+1])?[]:{})}e(f,p,v),f=f[p]}return o}return Do=i,Do}var Ao,zu;function og(){if(zu)return Ao;zu=1;var e=ig();function t(r,n,a){return r==null?r:e(r,n,a)}return Ao=t,Ao}var sg=on(og()),Ro,Ou;function lg(){if(Ou)return Ro;Ou=1;function e(t,r){var n=-1,a=t.length;for(r||(r=Array(a));++n<a;)r[n]=t[n];return r}return Ro=e,Ro}var _o,Vu;function ug(){if(Vu)return _o;Vu=1;var e=ku(),t=lg(),r=la(),n=ln(),a=wu(),i=Eo(),o=Pu();function u(s){return r(s)?e(s,i):n(s)?[s]:t(a(o(s)))}return _o=u,_o}var cg=on(ug()),dg={data:function(e){return e=he({},{field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(t){},beforeSet:function(t,r){},onSet:function(t){},canSet:function(t){return!0}},e),function(t,r){var n=e,a=this,i=a.length!==void 0,o=i?a:[a],u=i?a[0]:a;if(ce(t)){var s=t.indexOf(".")!==-1&&cg(t);if(n.allowGetting&&r===void 0){var l;return u&&(n.beforeGet(u),l=s&&u._private[n.field][t]===void 0?eg(u._private[n.field],s):u._private[n.field][t]),l}else if(n.allowSetting&&r!==void 0&&!n.immutableKeys[t]){var c=ms({},t,r);n.beforeSet(a,c);for(var d=0,h=o.length;d<h;d++){var f=o[d];n.canSet(f)&&(s&&u._private[n.field][t]===void 0?sg(f._private[n.field],s,r):f._private[n.field][t]=r)}n.updateStyle&&a.updateStyle(),n.onSet(a),n.settingTriggersEvent&&a[n.triggerFnName](n.settingEvent)}}else if(n.allowSetting&&Be(t)){var p=t,v,y,g=Object.keys(p);n.beforeSet(a,p);for(var m=0;m<g.length;m++)if(v=g[m],y=p[v],!n.immutableKeys[v])for(var b=0;b<o.length;b++){var x=o[b];n.canSet(x)&&(x._private[n.field][v]=y)}n.updateStyle&&a.updateStyle(),n.onSet(a),n.settingTriggersEvent&&a[n.triggerFnName](n.settingEvent)}else if(n.allowBinding&&We(t)){var B=t;a.on(n.bindingEvent,B)}else if(n.allowGetting&&t===void 0){var k;return u&&(n.beforeGet(u),k=u._private[n.field]),k}return a}},removeData:function(e){return e=he({},{field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}},e),function(t){var r=e,n=this,a=n.length===void 0?[n]:n;if(ce(t)){for(var i=t.split(/\s+/),o=i.length,u=0;u<o;u++){var s=i[u];if(!Qt(s)&&!r.immutableKeys[s])for(var l=0,c=a.length;l<c;l++)a[l]._private[r.field][s]=void 0}r.triggerEvent&&n[r.triggerFnName](r.event)}else if(t===void 0){for(var d=0,h=a.length;d<h;d++)for(var f=a[d]._private[r.field],p=Object.keys(f),v=0;v<p.length;v++){var y=p[v];r.immutableKeys[y]||(f[y]=void 0)}r.triggerEvent&&n[r.triggerFnName](r.event)}return n}}},hg={eventAliasesOn:function(e){var t=e;t.addListener=t.listen=t.bind=t.on,t.unlisten=t.unbind=t.off=t.removeListener,t.trigger=t.emit,t.pon=t.promiseOn=function(r,n){var a=this,i=Array.prototype.slice.call(arguments,0);return new Fr(function(o,u){var s=i.concat([function(c){a.off.apply(a,l),o(c)}]),l=s.concat([]);a.on.apply(a,s)})}}},Me={};[wp,dg,hg].forEach(function(e){he(Me,e)});var fg={animate:Me.animate(),animation:Me.animation(),animated:Me.animated(),clearQueue:Me.clearQueue(),delay:Me.delay(),delayAnimation:Me.delayAnimation(),stop:Me.stop()},ha={classes:function(e){var t=this;if(e===void 0){var r=[];return t[0]._private.classes.forEach(function(h){return r.push(h)}),r}else ze(e)||(e=(e||"").match(/\S+/g)||[]);for(var n=[],a=new Mr(e),i=0;i<t.length;i++){for(var o=t[i],u=o._private,s=u.classes,l=!1,c=0;c<e.length;c++){var d=e[c];if(!s.has(d)){l=!0;break}}l||(l=s.size!==e.length),l&&(u.classes=a,n.push(o))}return n.length>0&&this.spawn(n).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return t!=null&&t._private.classes.has(e)},toggleClass:function(e,t){ze(e)||(e=e.match(/\S+/g)||[]);for(var r=this,n=t===void 0,a=[],i=0,o=r.length;i<o;i++)for(var u=r[i],s=u._private.classes,l=!1,c=0;c<e.length;c++){var d=e[c],h=s.has(d),f=!1;t||n&&!h?(s.add(d),f=!0):(!t||n&&h)&&(s.delete(d),f=!0),!l&&f&&(a.push(u),l=!0)}return a.length>0&&this.spawn(a).updateStyle().emit("class"),r},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var r=this;if(t==null)t=250;else if(t===0)return r;return r.addClass(e),setTimeout(function(){r.removeClass(e)},t),r}};ha.className=ha.classNames=ha.classes;var Se={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Je,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Se.variable="(?:[\\w-.]|(?:\\\\"+Se.metaChar+"))+",Se.className="(?:[\\w-]|(?:\\\\"+Se.metaChar+"))+",Se.value=Se.string+"|"+Se.number,Se.id=Se.variable,(function(){var e=Se.comparatorOp.split("|"),t,r;for(r=0;r<e.length;r++)t=e[r],Se.comparatorOp+="|@"+t;for(e=Se.comparatorOp.split("|"),r=0;r<e.length;r++)t=e[r],!(t.indexOf("!")>=0)&&t!=="="&&(Se.comparatorOp+="|\\!"+t)})();var Ne=function(){return{checks:[]}},ne={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},Mo=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(e,t){return gh(e.selector,t.selector)}),pg=(function(){for(var e={},t,r=0;r<Mo.length;r++)t=Mo[r],e[t.selector]=t.matches;return e})(),gg=function(e,t){return pg[e](t)},vg="("+Mo.map(function(e){return e.selector}).join("|")+")",Xr=function(e){return e.replace(RegExp("\\\\("+Se.metaChar+")","g"),function(t,r){return r})},ir=function(e,t,r){e[e.length-1]=r},Io=[{name:"group",query:!0,regex:"("+Se.group+")",populate:function(e,t,r){var n=Ge(r,1)[0];t.checks.push({type:ne.GROUP,value:n==="*"?n:n+"s"})}},{name:"state",query:!0,regex:vg,populate:function(e,t,r){var n=Ge(r,1)[0];t.checks.push({type:ne.STATE,value:n})}},{name:"id",query:!0,regex:"\\#("+Se.id+")",populate:function(e,t,r){var n=Ge(r,1)[0];t.checks.push({type:ne.ID,value:Xr(n)})}},{name:"className",query:!0,regex:"\\.("+Se.className+")",populate:function(e,t,r){var n=Ge(r,1)[0];t.checks.push({type:ne.CLASS,value:Xr(n)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+Se.variable+")\\s*\\]",populate:function(e,t,r){var n=Ge(r,1)[0];t.checks.push({type:ne.DATA_EXIST,field:Xr(n)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+Se.variable+")\\s*("+Se.comparatorOp+")\\s*("+Se.value+")\\s*\\]",populate:function(e,t,r){var n=Ge(r,3),a=n[0],i=n[1],o=n[2];o=RegExp("^"+Se.string+"$").exec(o)==null?parseFloat(o):o.substring(1,o.length-1),t.checks.push({type:ne.DATA_COMPARE,field:Xr(a),operator:i,value:o})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+Se.boolOp+")\\s*("+Se.variable+")\\s*\\]",populate:function(e,t,r){var n=Ge(r,2),a=n[0],i=n[1];t.checks.push({type:ne.DATA_BOOL,field:Xr(i),operator:a})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+Se.meta+")\\s*("+Se.comparatorOp+")\\s*("+Se.number+")\\s*\\]\\]",populate:function(e,t,r){var n=Ge(r,3),a=n[0],i=n[1],o=n[2];t.checks.push({type:ne.META_COMPARE,field:Xr(a),operator:i,value:parseFloat(o)})}},{name:"nextQuery",separator:!0,regex:Se.separator,populate:function(e,t){var r=e.currentSubject,n=e.edgeCount,a=e.compoundCount,i=e[e.length-1];return r!=null&&(i.subject=r,e.currentSubject=null),i.edgeCount=n,i.compoundCount=a,e.edgeCount=0,e.compoundCount=0,e[e.length++]=Ne()}},{name:"directedEdge",separator:!0,regex:Se.directedEdge,populate:function(e,t){if(e.currentSubject==null){var r=Ne(),n=t,a=Ne();return r.checks.push({type:ne.DIRECTED_EDGE,source:n,target:a}),ir(e,t,r),e.edgeCount++,a}else{var i=Ne(),o=t,u=Ne();return i.checks.push({type:ne.NODE_SOURCE,source:o,target:u}),ir(e,t,i),e.edgeCount++,u}}},{name:"undirectedEdge",separator:!0,regex:Se.undirectedEdge,populate:function(e,t){if(e.currentSubject==null){var r=Ne(),n=t,a=Ne();return r.checks.push({type:ne.UNDIRECTED_EDGE,nodes:[n,a]}),ir(e,t,r),e.edgeCount++,a}else{var i=Ne(),o=t,u=Ne();return i.checks.push({type:ne.NODE_NEIGHBOR,node:o,neighbor:u}),ir(e,t,i),u}}},{name:"child",separator:!0,regex:Se.child,populate:function(e,t){if(e.currentSubject==null){var r=Ne(),n=Ne(),a=e[e.length-1];return r.checks.push({type:ne.CHILD,parent:a,child:n}),ir(e,t,r),e.compoundCount++,n}else if(e.currentSubject===t){var i=Ne(),o=e[e.length-1],u=Ne(),s=Ne(),l=Ne(),c=Ne();return i.checks.push({type:ne.COMPOUND_SPLIT,left:o,right:u,subject:s}),s.checks=t.checks,t.checks=[{type:ne.TRUE}],c.checks.push({type:ne.TRUE}),u.checks.push({type:ne.PARENT,parent:c,child:l}),ir(e,o,i),e.currentSubject=s,e.compoundCount++,l}else{var d=Ne(),h=Ne(),f=[{type:ne.PARENT,parent:d,child:h}];return d.checks=t.checks,t.checks=f,e.compoundCount++,h}}},{name:"descendant",separator:!0,regex:Se.descendant,populate:function(e,t){if(e.currentSubject==null){var r=Ne(),n=Ne(),a=e[e.length-1];return r.checks.push({type:ne.DESCENDANT,ancestor:a,descendant:n}),ir(e,t,r),e.compoundCount++,n}else if(e.currentSubject===t){var i=Ne(),o=e[e.length-1],u=Ne(),s=Ne(),l=Ne(),c=Ne();return i.checks.push({type:ne.COMPOUND_SPLIT,left:o,right:u,subject:s}),s.checks=t.checks,t.checks=[{type:ne.TRUE}],c.checks.push({type:ne.TRUE}),u.checks.push({type:ne.ANCESTOR,ancestor:c,descendant:l}),ir(e,o,i),e.currentSubject=s,e.compoundCount++,l}else{var d=Ne(),h=Ne(),f=[{type:ne.ANCESTOR,ancestor:d,descendant:h}];return d.checks=t.checks,t.checks=f,e.compoundCount++,h}}},{name:"subject",modifier:!0,regex:Se.subject,populate:function(e,t){if(e.currentSubject!=null&&e.currentSubject!==t)return _e("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=t;var r=e[e.length-1].checks[0],n=r==null?null:r.type;n===ne.DIRECTED_EDGE?r.type=ne.NODE_TARGET:n===ne.UNDIRECTED_EDGE&&(r.type=ne.NODE_NEIGHBOR,r.node=r.nodes[1],r.neighbor=r.nodes[0],r.nodes=null)}}];Io.forEach(function(e){return e.regexObj=RegExp("^"+e.regex)});var yg=function(e){for(var t,r,n,a=0;a<Io.length;a++){var i=Io[a],o=i.name,u=e.match(i.regexObj);if(u!=null){r=u,t=i,n=o;var s=u[0];e=e.substring(s.length);break}}return{expr:t,match:r,name:n,remaining:e}},mg=function(e){var t=e.match(/^\s+/);if(t){var r=t[0];e=e.substring(r.length)}return e},bg={parse:function(e){var t=this,r=t.inputText=e,n=t[0]=Ne();for(t.length=1,r=mg(r);;){var a=yg(r);if(a.expr==null)return _e("The selector `"+e+"`is invalid"),!1;var i=a.match.slice(1),o=a.expr.populate(t,n,i);if(o===!1)return!1;if(o!=null&&(n=o),r=a.remaining,r.match(/^\s*$/))break}var u=t[t.length-1];t.currentSubject!=null&&(u.subject=t.currentSubject),u.edgeCount=t.edgeCount,u.compoundCount=t.compoundCount;for(var s=0;s<t.length;s++){var l=t[s];if(l.compoundCount>0&&l.edgeCount>0)return _e("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return _e("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;l.edgeCount===1&&_e("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(s){return s??""},t=function(s){return ce(s)?'"'+s+'"':e(s)},r=function(s){return" "+s+" "},n=function(s,l){var c=s.type,d=s.value;switch(c){case ne.GROUP:var h=e(d);return h.substring(0,h.length-1);case ne.DATA_COMPARE:var f=s.field,p=s.operator;return"["+f+r(e(p))+t(d)+"]";case ne.DATA_BOOL:var v=s.operator,y=s.field;return"["+e(v)+y+"]";case ne.DATA_EXIST:return"["+s.field+"]";case ne.META_COMPARE:var g=s.operator;return"[["+s.field+r(e(g))+t(d)+"]]";case ne.STATE:return d;case ne.ID:return"#"+d;case ne.CLASS:return"."+d;case ne.PARENT:case ne.CHILD:return a(s.parent,l)+r(">")+a(s.child,l);case ne.ANCESTOR:case ne.DESCENDANT:return a(s.ancestor,l)+" "+a(s.descendant,l);case ne.COMPOUND_SPLIT:var m=a(s.left,l),b=a(s.subject,l),x=a(s.right,l);return m+(m.length>0?" ":"")+b+x;case ne.TRUE:return""}},a=function(s,l){return s.checks.reduce(function(c,d,h){return c+(l===s&&h===0?"$":"")+n(d,l)},"")},i="",o=0;o<this.length;o++){var u=this[o];i+=a(u,u.subject),this.length>1&&o<this.length-1&&(i+=", ")}return this.toStringCache=i,i}},Fu=function(e,t,r){var n,a=ce(e),i=ee(e),o=ce(r),u,s,l=!1,c=!1,d=!1;switch(t.indexOf("!")>=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),l=!0),(a||o||l)&&(u=!a&&!i?"":""+e,s=""+r),l&&(e=u=u.toLowerCase(),r=s=s.toLowerCase()),t){case"*=":n=u.indexOf(s)>=0;break;case"$=":n=u.indexOf(s,u.length-s.length)>=0;break;case"^=":n=u.indexOf(s)===0;break;case"=":n=e===r;break;case">":d=!0,n=e>r;break;case">=":d=!0,n=e>=r;break;case"<":d=!0,n=e<r;break;case"<=":d=!0,n=e<=r;break;default:n=!1;break}return c&&(e!=null||!d)&&(n=!n),n},xg=function(e,t){switch(t){case"?":return!!e;case"!":return!e;case"^":return e===void 0}},wg=function(e){return e!==void 0},No=function(e,t){return e.data(t)},Eg=function(e,t){return e[t]()},Ue=[],Xe=function(e,t){return e.checks.every(function(r){return Ue[r.type](r,t)})};Ue[ne.GROUP]=function(e,t){var r=e.value;return r==="*"||r===t.group()},Ue[ne.STATE]=function(e,t){var r=e.value;return gg(r,t)},Ue[ne.ID]=function(e,t){var r=e.value;return t.id()===r},Ue[ne.CLASS]=function(e,t){var r=e.value;return t.hasClass(r)},Ue[ne.META_COMPARE]=function(e,t){var r=e.field,n=e.operator,a=e.value;return Fu(Eg(t,r),n,a)},Ue[ne.DATA_COMPARE]=function(e,t){var r=e.field,n=e.operator,a=e.value;return Fu(No(t,r),n,a)},Ue[ne.DATA_BOOL]=function(e,t){var r=e.field,n=e.operator;return xg(No(t,r),n)},Ue[ne.DATA_EXIST]=function(e,t){var r=e.field;return e.operator,wg(No(t,r))},Ue[ne.UNDIRECTED_EDGE]=function(e,t){var r=e.nodes[0],n=e.nodes[1],a=t.source(),i=t.target();return Xe(r,a)&&Xe(n,i)||Xe(n,a)&&Xe(r,i)},Ue[ne.NODE_NEIGHBOR]=function(e,t){return Xe(e.node,t)&&t.neighborhood().some(function(r){return r.isNode()&&Xe(e.neighbor,r)})},Ue[ne.DIRECTED_EDGE]=function(e,t){return Xe(e.source,t.source())&&Xe(e.target,t.target())},Ue[ne.NODE_SOURCE]=function(e,t){return Xe(e.source,t)&&t.outgoers().some(function(r){return r.isNode()&&Xe(e.target,r)})},Ue[ne.NODE_TARGET]=function(e,t){return Xe(e.target,t)&&t.incomers().some(function(r){return r.isNode()&&Xe(e.source,r)})},Ue[ne.CHILD]=function(e,t){return Xe(e.child,t)&&Xe(e.parent,t.parent())},Ue[ne.PARENT]=function(e,t){return Xe(e.parent,t)&&t.children().some(function(r){return Xe(e.child,r)})},Ue[ne.DESCENDANT]=function(e,t){return Xe(e.descendant,t)&&t.ancestors().some(function(r){return Xe(e.ancestor,r)})},Ue[ne.ANCESTOR]=function(e,t){return Xe(e.ancestor,t)&&t.descendants().some(function(r){return Xe(e.descendant,r)})},Ue[ne.COMPOUND_SPLIT]=function(e,t){return Xe(e.subject,t)&&Xe(e.left,t)&&Xe(e.right,t)},Ue[ne.TRUE]=function(){return!0},Ue[ne.COLLECTION]=function(e,t){return e.value.has(t)},Ue[ne.FILTER]=function(e,t){var r=e.value;return r(t)};var kg={matches:function(e){for(var t=this,r=0;r<t.length;r++){var n=t[r];if(Xe(n,e))return!0}return!1},filter:function(e){var t=this;if(t.length===1&&t[0].checks.length===1&&t[0].checks[0].type===ne.ID)return e.getElementById(t[0].checks[0].value).collection();var r=function(n){for(var a=0;a<t.length;a++){var i=t[a];if(Xe(i,n))return!0}return!1};return t.text()??(r=function(){return!0}),e.filter(r)}},or=function(e){this.inputText=e,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,e==null||ce(e)&&e.match(/^\s*$/)||(Ct(e)?this.addQuery({checks:[{type:ne.COLLECTION,value:e.collection()}]}):We(e)?this.addQuery({checks:[{type:ne.FILTER,value:e}]}):ce(e)?this.parse(e)||(this.invalid=!0):qe("A selector must be created from a string; found "))},sr=or.prototype;[bg,kg].forEach(function(e){return he(sr,e)}),sr.text=function(){return this.inputText},sr.size=function(){return this.length},sr.eq=function(e){return this[e]},sr.sameText=function(e){return!this.invalid&&!e.invalid&&this.text()===e.text()},sr.addQuery=function(e){this[this.length++]=e},sr.selector=sr.toString;var lr={allAre:function(e){var t=new or(e);return this.every(function(r){return t.matches(r)})},is:function(e){var t=new or(e);return this.some(function(r){return t.matches(r)})},some:function(e,t){for(var r=0;r<this.length;r++)if(t?e.apply(t,[this[r],r,this]):e(this[r],r,this))return!0;return!1},every:function(e,t){for(var r=0;r<this.length;r++)if(!(t?e.apply(t,[this[r],r,this]):e(this[r],r,this)))return!1;return!0},same:function(e){if(this===e)return!0;e=this.cy().collection(e);var t=this.length;return t===e.length?t===1?this[0]===e[0]:this.every(function(r){return e.hasElementWithId(r.id())}):!1},anySame:function(e){return e=this.cy().collection(e),this.some(function(t){return e.hasElementWithId(t.id())})},allAreNeighbors:function(e){e=this.cy().collection(e);var t=this.neighborhood();return e.every(function(r){return t.hasElementWithId(r.id())})},contains:function(e){e=this.cy().collection(e);var t=this;return e.every(function(r){return t.hasElementWithId(r.id())})}};lr.allAreNeighbours=lr.allAreNeighbors,lr.has=lr.contains,lr.equal=lr.equals=lr.same;var Pt=function(e,t){return function(r,n,a,i){var o=r,u=this,s;if(o==null?s="":Ct(o)&&o.length===1&&(s=o.id()),u.length===1&&s){var l=u[0]._private,c=l.traversalCache=l.traversalCache||{},d=c[t]=c[t]||[],h=vr(s);return d[h]||(d[h]=e.call(u,r,n,a,i))}else return e.call(u,r,n,a,i)}},Yr={parent:function(e){var t=[];if(this.length===1){var r=this[0]._private.parent;if(r)return r}for(var n=0;n<this.length;n++){var a=this[n]._private.parent;a&&t.push(a)}return this.spawn(t,!0).filter(e)},parents:function(e){for(var t=[],r=this.parent();r.nonempty();){for(var n=0;n<r.length;n++){var a=r[n];t.push(a)}r=r.parent()}return this.spawn(t,!0).filter(e)},commonAncestors:function(e){for(var t,r=0;r<this.length;r++){var n=this[r].parents();t||(t=n),t=t.intersect(n)}return t.filter(e)},orphans:function(e){return this.stdFilter(function(t){return t.isOrphan()}).filter(e)},nonorphans:function(e){return this.stdFilter(function(t){return t.isChild()}).filter(e)},children:Pt(function(e){for(var t=[],r=0;r<this.length;r++)for(var n=this[r]._private.children,a=0;a<n.length;a++)t.push(n[a]);return this.spawn(t,!0).filter(e)},"children"),siblings:function(e){return this.parent().children().not(this).filter(e)},isParent:function(){var e=this[0];if(e)return e.isNode()&&e._private.children.length!==0},isChildless:function(){var e=this[0];if(e)return e.isNode()&&e._private.children.length===0},isChild:function(){var e=this[0];if(e)return e.isNode()&&e._private.parent!=null},isOrphan:function(){var e=this[0];if(e)return e.isNode()&&e._private.parent==null},descendants:function(e){var t=[];function r(n){for(var a=0;a<n.length;a++){var i=n[a];t.push(i),i.children().nonempty()&&r(i.children())}}return r(this.children()),this.spawn(t,!0).filter(e)}};function Lo(e,t,r,n){for(var a=[],i=new Mr,o=e.cy().hasCompoundNodes(),u=0;u<e.length;u++){var s=e[u];r?a.push(s):o&&n(a,i,s)}for(;a.length>0;){var l=a.shift();t(l),i.add(l.id()),o&&n(a,i,l)}return e}function Xu(e,t,r){if(r.isParent())for(var n=r._private.children,a=0;a<n.length;a++){var i=n[a];t.has(i.id())||e.push(i)}}Yr.forEachDown=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Lo(this,e,t,Xu)};function Yu(e,t,r){if(r.isChild()){var n=r._private.parent;t.has(n.id())||e.push(n)}}Yr.forEachUp=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Lo(this,e,t,Yu)};function Tg(e,t,r){Yu(e,t,r),Xu(e,t,r)}Yr.forEachUpAndDown=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Lo(this,e,t,Tg)},Yr.ancestors=Yr.parents;var fa=qu={data:Me.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Me.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Me.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Me.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Me.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Me.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}},qu;fa.attr=fa.data,fa.removeAttr=fa.removeData;var Cg=qu,pa={};function zo(e){return function(t){var r=this;if(t===void 0&&(t=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,a=r[0],i=a._private.edges,o=0;o<i.length;o++){var u=i[o];!t&&u.isLoop()||(n+=e(a,u))}return n}else return}}he(pa,{degree:zo(function(e,t){return t.source().same(t.target())?2:1}),indegree:zo(function(e,t){return t.target().same(e)?1:0}),outdegree:zo(function(e,t){return t.source().same(e)?1:0})});function qr(e,t){return function(r){for(var n,a=this.nodes(),i=0;i<a.length;i++){var o=a[i][e](r);o!==void 0&&(n===void 0||t(o,n))&&(n=o)}return n}}he(pa,{minDegree:qr("degree",function(e,t){return e<t}),maxDegree:qr("degree",function(e,t){return e>t}),minIndegree:qr("indegree",function(e,t){return e<t}),maxIndegree:qr("indegree",function(e,t){return e>t}),minOutdegree:qr("outdegree",function(e,t){return e<t}),maxOutdegree:qr("outdegree",function(e,t){return e>t})}),he(pa,{totalDegree:function(e){for(var t=0,r=this.nodes(),n=0;n<r.length;n++)t+=r[n].degree(e);return t}});var _t,ju,Wu=function(e,t,r){for(var n=0;n<e.length;n++){var a=e[n];if(!a.locked()){var i=a._private.position,o={x:t.x==null?0:t.x-i.x,y:t.y==null?0:t.y-i.y};a.isParent()&&!(o.x===0&&o.y===0)&&a.children().shift(o,r),a.dirtyBoundingBoxCache()}}},Uu={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(e){e.updateCompoundBounds()},beforeSet:function(e,t){Wu(e,t,!1)},onSet:function(e){e.dirtyCompoundBoundsCache()},canSet:function(e){return!e.locked()}};_t=ju={position:Me.data(Uu),silentPosition:Me.data(he({},Uu,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(e,t){Wu(e,t,!0)},onSet:function(e){e.dirtyCompoundBoundsCache()}})),positions:function(e,t){if(Be(e))t?this.silentPosition(e):this.position(e);else if(We(e)){var r=e,n=this.cy();n.startBatch();for(var a=0;a<this.length;a++){var i=this[a],o=void 0;(o=r(i,a))&&(t?i.silentPosition(o):i.position(o))}n.endBatch()}return this},silentPositions:function(e){return this.positions(e,!0)},shift:function(e,t,r){var n;if(Be(e)?(n={x:ee(e.x)?e.x:0,y:ee(e.y)?e.y:0},r=t):ce(e)&&ee(t)&&(n={x:0,y:0},n[e]=t),n!=null){var a=this.cy();a.startBatch();for(var i=0;i<this.length;i++){var o=this[i];if(!(a.hasCompoundNodes()&&o.isChild()&&o.ancestors().anySame(this))){var u=o.position(),s={x:u.x+n.x,y:u.y+n.y};r?o.silentPosition(s):o.position(s)}}a.endBatch()}return this},silentShift:function(e,t){return Be(e)?this.shift(e,!0):ce(e)&&ee(t)&&this.shift(e,t,!0),this},renderedPosition:function(e,t){var r=this[0],n=this.cy(),a=n.zoom(),i=n.pan(),o=Be(e)?e:void 0,u=o!==void 0||t!==void 0&&ce(e);if(r&&r.isNode())if(u)for(var s=0;s<this.length;s++){var l=this[s];t===void 0?o!==void 0&&l.position(il(o,a,i)):l.position(e,(t-i[e])/a)}else return o=Zn(r.position(),a,i),e===void 0?o:o[e];else if(!u)return;return this},relativePosition:function(e,t){var r=this[0],n=this.cy(),a=Be(e)?e:void 0,i=a!==void 0||t!==void 0&&ce(e),o=n.hasCompoundNodes();if(r&&r.isNode())if(i)for(var u=0;u<this.length;u++){var s=this[u],l=o?s.parent():null,c=l&&l.length>0,d=c;c&&(l=l[0]);var h=d?l.position():{x:0,y:0};t===void 0?a!==void 0&&s.position({x:a.x+h.x,y:a.y+h.y}):s.position(e,t+h[e])}else{var f=r.position(),p=o?r.parent():null,v=p&&p.length>0,y=v;v&&(p=p[0]);var g=y?p.position():{x:0,y:0};return a={x:f.x-g.x,y:f.y-g.y},e===void 0?a:a[e]}else if(!i)return;return this}},_t.modelPosition=_t.point=_t.position,_t.modelPositions=_t.points=_t.positions,_t.renderedPoint=_t.renderedPosition,_t.relativePoint=_t.relativePosition;var Pg=ju,mn=ur={},ur;ur.renderedBoundingBox=function(e){var t=this.boundingBox(e),r=this.cy(),n=r.zoom(),a=r.pan(),i=t.x1*n+a.x,o=t.x2*n+a.x,u=t.y1*n+a.y,s=t.y2*n+a.y;return{x1:i,x2:o,y1:u,y2:s,w:o-i,h:s-u}},ur.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.cy();return!t.styleEnabled()||!t.hasCompoundNodes()||this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,e||r.emitAndNotify("bounds")}}),this},ur.updateCompoundBounds=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes()||!e&&t.batching())return this;function r(o){if(!o.isParent())return;var u=o._private,s=o.children(),l=o.pstyle("compound-sizing-wrt-labels").value==="include",c={width:{val:o.pstyle("min-width").pfValue,left:o.pstyle("min-width-bias-left"),right:o.pstyle("min-width-bias-right")},height:{val:o.pstyle("min-height").pfValue,top:o.pstyle("min-height-bias-top"),bottom:o.pstyle("min-height-bias-bottom")}},d=s.boundingBox({includeLabels:l,includeOverlays:!1,useCache:!1}),h=u.position;(d.w===0||d.h===0)&&(d={w:o.pstyle("width").pfValue,h:o.pstyle("height").pfValue},d.x1=h.x-d.w/2,d.x2=h.x+d.w/2,d.y1=h.y-d.h/2,d.y2=h.y+d.h/2);function f(E,P,C){var A=0,D=0,R=P+C;return E>0&&R>0&&(A=P/R*E,D=C/R*E),{biasDiff:A,biasComplementDiff:D}}function p(E,P,C,A){if(C.units==="%")switch(A){case"width":return E>0?C.pfValue*E:0;case"height":return P>0?C.pfValue*P:0;case"average":return E>0&&P>0?C.pfValue*(E+P)/2:0;case"min":return E>0&&P>0?E>P?C.pfValue*P:C.pfValue*E:0;case"max":return E>0&&P>0?E>P?C.pfValue*E:C.pfValue*P:0;default:return 0}else return C.units==="px"?C.pfValue:0}var v=c.width.left.value;c.width.left.units==="px"&&c.width.val>0&&(v=v*100/c.width.val);var y=c.width.right.value;c.width.right.units==="px"&&c.width.val>0&&(y=y*100/c.width.val);var g=c.height.top.value;c.height.top.units==="px"&&c.height.val>0&&(g=g*100/c.height.val);var m=c.height.bottom.value;c.height.bottom.units==="px"&&c.height.val>0&&(m=m*100/c.height.val);var b=f(c.width.val-d.w,v,y),x=b.biasDiff,B=b.biasComplementDiff,k=f(c.height.val-d.h,g,m),w=k.biasDiff,S=k.biasComplementDiff;u.autoPadding=p(d.w,d.h,o.pstyle("padding"),o.pstyle("padding-relative-to").value),u.autoWidth=Math.max(d.w,c.width.val),h.x=(-x+d.x1+d.x2+B)/2,u.autoHeight=Math.max(d.h,c.height.val),h.y=(-w+d.y1+d.y2+S)/2}for(var n=0;n<this.length;n++){var a=this[n],i=a._private;(!i.compoundBoundsClean||e)&&(r(a),t.batching()||(i.compoundBoundsClean=!0))}return this};var Bt=function(e){return e===1/0||e===-1/0?0:e},Mt=function(e,t,r,n,a){n-t===0||a-r===0||t==null||r==null||n==null||a==null||(e.x1=t<e.x1?t:e.x1,e.x2=n>e.x2?n:e.x2,e.y1=r<e.y1?r:e.y1,e.y2=a>e.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},cr=function(e,t){return t==null?e:Mt(e,t.x1,t.y1,t.x2,t.y2)},bn=function(e,t,r){return wt(e,t,r)},ga=function(e,t,r){if(!t.cy().headless()){var n=t._private,a=n.rstyle,i=a.arrowWidth/2,o=t.pstyle(r+"-arrow-shape").value,u,s;if(o!=="none"){r==="source"?(u=a.srcX,s=a.srcY):r==="target"?(u=a.tgtX,s=a.tgtY):(u=a.midX,s=a.midY);var l=n.arrowBounds=n.arrowBounds||{},c=l[r]=l[r]||{};c.x1=u-i,c.y1=s-i,c.x2=u+i,c.y2=s+i,c.w=c.x2-c.x1,c.h=c.y2-c.y1,Jn(c,1),Mt(e,c.x1,c.y1,c.x2,c.y2)}}},Oo=function(e,t,r){if(!t.cy().headless()){var n=r?r+"-":"",a=t._private,i=a.rstyle;if(t.pstyle(n+"label").strValue){var o=t.pstyle("text-halign"),u=t.pstyle("text-valign"),s=bn(i,"labelWidth",r),l=bn(i,"labelHeight",r),c=bn(i,"labelX",r),d=bn(i,"labelY",r),h=t.pstyle(n+"text-margin-x").pfValue,f=t.pstyle(n+"text-margin-y").pfValue,p=t.isEdge(),v=t.pstyle(n+"text-rotation"),y=t.pstyle("text-outline-width").pfValue,g=t.pstyle("text-border-width").pfValue/2,m=t.pstyle("text-background-padding").pfValue,b=2,x=l,B=s,k=B/2,w=x/2,S,E,P,C;if(p)S=c-k,E=c+k,P=d-w,C=d+w;else{switch(o.value){case"left":S=c-B,E=c;break;case"center":S=c-k,E=c+k;break;case"right":S=c,E=c+B;break}switch(u.value){case"top":P=d-x,C=d;break;case"center":P=d-w,C=d+w;break;case"bottom":P=d,C=d+x;break}}var A=h-Math.max(y,g)-m-b,D=h+Math.max(y,g)+m+b,R=f-Math.max(y,g)-m-b,_=f+Math.max(y,g)+m+b;S+=A,E+=D,P+=R,C+=_;var I=r||"main",M=a.labelBounds,N=M[I]=M[I]||{};N.x1=S,N.y1=P,N.x2=E,N.y2=C,N.w=E-S,N.h=C-P,N.leftPad=A,N.rightPad=D,N.topPad=R,N.botPad=_;var V=p&&v.strValue==="autorotate",Y=v.pfValue!=null&&v.pfValue!==0;if(V||Y){var q=V?bn(a.rstyle,"labelAngle",r):v.pfValue,W=Math.cos(q),H=Math.sin(q),j=(S+E)/2,$=(P+C)/2;if(!p){switch(o.value){case"left":j=E;break;case"right":j=S;break}switch(u.value){case"top":$=C;break;case"bottom":$=P;break}}var J=function(fe,be){return fe-=j,be-=$,{x:fe*W-be*H+j,y:fe*H+be*W+$}},Q=J(S,P),O=J(S,C),z=J(E,P),F=J(E,C);S=Math.min(Q.x,O.x,z.x,F.x),E=Math.max(Q.x,O.x,z.x,F.x),P=Math.min(Q.y,O.y,z.y,F.y),C=Math.max(Q.y,O.y,z.y,F.y)}var Z=I+"Rot",oe=M[Z]=M[Z]||{};oe.x1=S,oe.y1=P,oe.x2=E,oe.y2=C,oe.w=E-S,oe.h=C-P,Mt(e,S,P,E,C),Mt(a.labelBounds.all,S,P,E,C)}return e}},$u=function(e,t){if(!t.cy().headless()){var r=t.pstyle("outline-opacity").value,n=t.pstyle("outline-width").value+t.pstyle("outline-offset").value;Gu(e,t,r,n,"outside",n/2)}},Gu=function(e,t,r,n,a,i){if(!(r===0||n<=0||a==="inside")){var o=t.cy(),u=t.pstyle("shape").value,s=o.renderer().nodeShapes[u],l=t.position(),c=l.x,d=l.y,h=t.width(),f=t.height();s.hasMiterBounds?(a==="center"&&(n/=2),cr(e,s.miterBounds(c,d,h,f,n))):i!=null&&i>0&&ea(e,[i,i,i,i])}},Bg=function(e,t){if(!t.cy().headless()){var r=t.pstyle("border-opacity").value,n=t.pstyle("border-width").pfValue,a=t.pstyle("border-position").value;Gu(e,t,r,n,a)}},Sg=function(e,t){var r=e._private.cy,n=r.styleEnabled(),a=r.headless(),i=gt(),o=e._private,u=e.isNode(),s=e.isEdge(),l,c,d,h,f,p,v=o.rstyle,y=u&&n?e.pstyle("bounds-expansion").pfValue:[0],g=function(z){return z.pstyle("display").value!=="none"},m=!n||g(e)&&(!s||g(e.source())&&g(e.target()));if(m){var b=0,x=0;n&&t.includeOverlays&&(b=e.pstyle("overlay-opacity").value,b!==0&&(x=e.pstyle("overlay-padding").value));var B=0,k=0;n&&t.includeUnderlays&&(B=e.pstyle("underlay-opacity").value,B!==0&&(k=e.pstyle("underlay-padding").value));var w=Math.max(x,k),S=0,E=0;if(n&&(S=e.pstyle("width").pfValue,E=S/2),u&&t.includeNodes){var P=e.position();f=P.x,p=P.y;var C=e.outerWidth()/2,A=e.outerHeight()/2;l=f-C,c=f+C,d=p-A,h=p+A,Mt(i,l,d,c,h),n&&$u(i,e),n&&t.includeOutlines&&!a&&$u(i,e),n&&Bg(i,e)}else if(s&&t.includeEdges)if(n&&!a){var D=e.pstyle("curve-style").strValue;if(l=Math.min(v.srcX,v.midX,v.tgtX),c=Math.max(v.srcX,v.midX,v.tgtX),d=Math.min(v.srcY,v.midY,v.tgtY),h=Math.max(v.srcY,v.midY,v.tgtY),l-=E,c+=E,d-=E,h+=E,Mt(i,l,d,c,h),D==="haystack"){var R=v.haystackPts;if(R&&R.length===2){if(l=R[0].x,d=R[0].y,c=R[1].x,h=R[1].y,l>c){var _=l;l=c,c=_}if(d>h){var I=d;d=h,h=I}Mt(i,l-E,d-E,c+E,h+E)}}else if(D==="bezier"||D==="unbundled-bezier"||Jt(D,"segments")||Jt(D,"taxi")){var M;switch(D){case"bezier":case"unbundled-bezier":M=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":M=v.linePts;break}if(M!=null)for(var N=0;N<M.length;N++){var V=M[N];l=V.x-E,c=V.x+E,d=V.y-E,h=V.y+E,Mt(i,l,d,c,h)}}}else{var Y=e.source().position(),q=e.target().position();if(l=Y.x,c=q.x,d=Y.y,h=q.y,l>c){var W=l;l=c,c=W}if(d>h){var H=d;d=h,h=H}l-=E,c+=E,d-=E,h+=E,Mt(i,l,d,c,h)}if(n&&t.includeEdges&&s&&(ga(i,e,"mid-source"),ga(i,e,"mid-target"),ga(i,e,"source"),ga(i,e,"target")),n&&e.pstyle("ghost").value==="yes"){var j=e.pstyle("ghost-offset-x").pfValue,$=e.pstyle("ghost-offset-y").pfValue;Mt(i,i.x1+j,i.y1+$,i.x2+j,i.y2+$)}var J=o.bodyBounds=o.bodyBounds||{};sl(J,i),ea(J,y),Jn(J,1),n&&(l=i.x1,c=i.x2,d=i.y1,h=i.y2,Mt(i,l-w,d-w,c+w,h+w));var Q=o.overlayBounds=o.overlayBounds||{};sl(Q,i),ea(Q,y),Jn(Q,1);var O=o.labelBounds=o.labelBounds||{};O.all==null?O.all=gt():vf(O.all),n&&t.includeLabels&&(t.includeMainLabels&&Oo(i,e,null),s&&(t.includeSourceLabels&&Oo(i,e,"source"),t.includeTargetLabels&&Oo(i,e,"target")))}return i.x1=Bt(i.x1),i.y1=Bt(i.y1),i.x2=Bt(i.x2),i.y2=Bt(i.y2),i.w=Bt(i.x2-i.x1),i.h=Bt(i.y2-i.y1),i.w>0&&i.h>0&&m&&(ea(i,y),Jn(i,1)),i},Ku=function(e){var t=0,r=function(a){return(a?1:0)<<t++},n=0;return n+=r(e.incudeNodes),n+=r(e.includeEdges),n+=r(e.includeLabels),n+=r(e.includeMainLabels),n+=r(e.includeSourceLabels),n+=r(e.includeTargetLabels),n+=r(e.includeOverlays),n+=r(e.includeOutlines),n},Hu=function(e){var t=function(i){return Math.round(i)};if(e.isEdge()){var r=e.source().position(),n=e.target().position();return Gs([t(r.x),t(r.y),t(n.x),t(n.y)])}else{var a=e.position();return Gs([t(a.x),t(a.y)])}},Zu=function(e,t){var r=e._private,n,a=e.isEdge(),i=(t==null?Qu:Ku(t))===Qu;if(r.bbCache==null?(n=Sg(e,xn),r.bbCache=n,r.bbCachePosKey=Hu(e)):n=r.bbCache,!i){var o=e.isNode();n=gt(),(t.includeNodes&&o||t.includeEdges&&!o)&&(t.includeOverlays?cr(n,r.overlayBounds):cr(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!a||t.includeSourceLabels&&t.includeTargetLabels)?cr(n,r.labelBounds.all):(t.includeMainLabels&&cr(n,r.labelBounds.mainRot),t.includeSourceLabels&&cr(n,r.labelBounds.sourceRot),t.includeTargetLabels&&cr(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},xn={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},Qu=Ku(xn),Ju=ot(xn);ur.boundingBox=function(e){var t,r=e===void 0||e.useCache===void 0||e.useCache===!0,n=Rr(function(l){var c=l._private;return c.bbCache==null||c.styleDirty||c.bbCachePosKey!==Hu(l)},function(l){return l.id()});if(r&&this.length===1&&!n(this[0]))e=e===void 0?xn:Ju(e),t=Zu(this[0],e);else{t=gt(),e||(e=xn);var a=Ju(e),i=this,o=i.cy().styleEnabled();this.edges().forEach(n),this.nodes().forEach(n),o&&this.recalculateRenderedStyle(r),this.updateCompoundBounds(!r);for(var u=0;u<i.length;u++){var s=i[u];n(s)&&s.dirtyBoundingBoxCache(),cr(t,Zu(s,a))}}return t.x1=Bt(t.x1),t.y1=Bt(t.y1),t.x2=Bt(t.x2),t.y2=Bt(t.y2),t.w=Bt(t.x2-t.x1),t.h=Bt(t.y2-t.y1),t},ur.dirtyBoundingBoxCache=function(){for(var e=0;e<this.length;e++){var t=this[e]._private;t.bbCache=null,t.bbCachePosKey=null,t.bodyBounds=null,t.overlayBounds=null,t.labelBounds.all=null,t.labelBounds.source=null,t.labelBounds.target=null,t.labelBounds.main=null,t.labelBounds.sourceRot=null,t.labelBounds.targetRot=null,t.labelBounds.mainRot=null,t.arrowBounds.source=null,t.arrowBounds.target=null,t.arrowBounds["mid-source"]=null,t.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this},ur.boundingBoxAt=function(e){var t=this.nodes(),r=this.cy(),n=r.hasCompoundNodes(),a=r.collection();if(n&&(a=t.filter(function(l){return l.isParent()}),t=t.not(a)),Be(e)){var i=e;e=function(){return i}}var o=function(l,c){return l._private.bbAtOldPos=e(l,c)},u=function(l){return l._private.bbAtOldPos};r.startBatch(),t.forEach(o).silentPositions(e),n&&(a.dirtyCompoundBoundsCache(),a.dirtyBoundingBoxCache(),a.updateCompoundBounds(!0));var s=gf(this.boundingBox({useCache:!1}));return t.silentPositions(u),n&&(a.dirtyCompoundBoundsCache(),a.dirtyBoundingBoxCache(),a.updateCompoundBounds(!0)),r.endBatch(),s},mn.boundingbox=mn.bb=mn.boundingBox,mn.renderedBoundingbox=mn.renderedBoundingBox;var Dg=ur,va=wn={},wn,ec=function(e){e.uppercaseName=Cs(e.name),e.autoName="auto"+e.uppercaseName,e.labelName="label"+e.uppercaseName,e.outerName="outer"+e.uppercaseName,e.uppercaseOuterName=Cs(e.outerName),va[e.name]=function(){var t=this[0],r=t._private,n=r.cy._private.styleEnabled;if(t)if(n){if(t.isParent())return t.updateCompoundBounds(),r[e.autoName]||0;var a=t.pstyle(e.name);switch(a.strValue){case"label":return t.recalculateRenderedStyle(),r.rstyle[e.labelName]||0;default:return a.pfValue}}else return 1},va["outer"+e.uppercaseName]=function(){var t=this[0],r=t._private.cy._private.styleEnabled;if(t)if(r){var n=t[e.name](),a=t.pstyle("border-position").value,i=a==="center"?t.pstyle("border-width").pfValue:a==="outside"?2*t.pstyle("border-width").pfValue:0,o=2*t.padding();return n+i+o}else return 1},va["rendered"+e.uppercaseName]=function(){var t=this[0];if(t)return t[e.name]()*this.cy().zoom()},va["rendered"+e.uppercaseOuterName]=function(){var t=this[0];if(t)return t[e.outerName]()*this.cy().zoom()}};ec({name:"width"}),ec({name:"height"}),wn.padding=function(){var e=this[0],t=e._private;return e.isParent()?(e.updateCompoundBounds(),t.autoPadding===void 0?e.pstyle("padding").pfValue:t.autoPadding):e.pstyle("padding").pfValue},wn.paddedHeight=function(){var e=this[0];return e.height()+2*e.padding()},wn.paddedWidth=function(){var e=this[0];return e.width()+2*e.padding()};var Ag=wn,Rg=function(e,t){if(e.isEdge()&&e.takesUpSpace())return t(e)},_g=function(e,t){if(e.isEdge()&&e.takesUpSpace()){var r=e.cy();return Zn(t(e),r.zoom(),r.pan())}},Mg=function(e,t){if(e.isEdge()&&e.takesUpSpace()){var r=e.cy(),n=r.pan(),a=r.zoom();return t(e).map(function(i){return Zn(i,a,n)})}},tc={controlPoints:{get:function(e){return e.renderer().getControlPoints(e)},mult:!0},segmentPoints:{get:function(e){return e.renderer().getSegmentPoints(e)},mult:!0},sourceEndpoint:{get:function(e){return e.renderer().getSourceEndpoint(e)}},targetEndpoint:{get:function(e){return e.renderer().getTargetEndpoint(e)}},midpoint:{get:function(e){return e.renderer().getEdgeMidpoint(e)}}},Ig=function(e){return"rendered"+e[0].toUpperCase()+e.substr(1)},Ng=he({},Pg,Dg,Ag,Object.keys(tc).reduce(function(e,t){var r=tc[t],n=Ig(t);return e[t]=function(){return Rg(this,r.get)},r.mult?e[n]=function(){return Mg(this,r.get)}:e[n]=function(){return _g(this,r.get)},e},{})),rc=function(e,t){this.recycle(e,t)};function En(){return!1}function ya(){return!0}rc.prototype={instanceString:function(){return"event"},recycle:function(e,t){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=En,e!=null&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?ya:En):e!=null&&e.type?t=e:this.type=e,t!=null&&(this.originalEvent=t.originalEvent,this.type=t.type==null?this.type:t.type,this.cy=t.cy,this.target=t.target,this.position=t.position,this.renderedPosition=t.renderedPosition,this.namespace=t.namespace,this.layout=t.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var r=this.position,n=this.cy.zoom(),a=this.cy.pan();this.renderedPosition={x:r.x*n+a.x,y:r.y*n+a.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=ya;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=ya;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ya,this.stopPropagation()},isDefaultPrevented:En,isPropagationStopped:En,isImmediatePropagationStopped:En};var nc=/^([^.]+)(\.(?:[^.]+))?$/,Lg=".*",ac={qualifierCompare:function(e,t){return e===t},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(e){return e},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},ic=Object.keys(ac),zg={};function ma(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:zg,t=arguments.length>1?arguments[1]:void 0,r=0;r<ic.length;r++){var n=ic[r];this[n]=e[n]||ac[n]}this.context=t||this.context,this.listeners=[],this.emitting=0}var dr=ma.prototype,oc=function(e,t,r,n,a,i,o){We(n)&&(a=n,n=null),o&&(i=i==null?o:he({},i,o));for(var u=ze(r)?r:r.split(/\s+/),s=0;s<u.length;s++){var l=u[s];if(!Qt(l)){var c=l.match(nc);if(c){var d=c[1];if(t(e,l,d,c[2]?c[2]:null,n,a,i)===!1)break}}}},sc=function(e,t){return e.addEventFields(e.context,t),new rc(t.type,t)},Og=function(e,t,r){if(ah(r)){t(e,r);return}else if(Be(r)){t(e,sc(e,r));return}for(var n=ze(r)?r:r.split(/\s+/),a=0;a<n.length;a++){var i=n[a];if(!Qt(i)){var o=i.match(nc);if(o){var u=o[1];t(e,sc(e,{type:u,namespace:o[2]?o[2]:null,target:e.context}))}}}};dr.on=dr.addListener=function(e,t,r,n,a){return oc(this,function(i,o,u,s,l,c,d){We(c)&&i.listeners.push({event:o,callback:c,type:u,namespace:s,qualifier:l,conf:d})},e,t,r,n,a),this},dr.one=function(e,t,r,n){return this.on(e,t,r,n,{one:!0})},dr.removeListener=dr.off=function(e,t,r,n){var a=this;this.emitting!==0&&(this.listeners=Vh(this.listeners));for(var i=this.listeners,o=function(s){var l=i[s];oc(a,function(c,d,h,f,p,v){if((l.type===h||e==="*")&&(!f&&l.namespace!==".*"||l.namespace===f)&&(!p||c.qualifierCompare(l.qualifier,p))&&(!v||l.callback===v))return i.splice(s,1),!1},e,t,r,n)},u=i.length-1;u>=0;u--)o(u);return this},dr.removeAllListeners=function(){return this.removeListener("*")},dr.emit=dr.trigger=function(e,t,r){var n=this.listeners,a=n.length;return this.emitting++,ze(t)||(t=[t]),Og(this,function(i,o){r!=null&&(n=[{event:o.event,type:o.type,namespace:o.namespace,callback:r}],a=n.length);for(var u=function(){var l=n[s];if(l.type===o.type&&(!l.namespace||l.namespace===o.namespace||l.namespace===Lg)&&i.eventMatches(i.context,l,o)){var c=[o];t!=null&&Xh(c,t),i.beforeEmit(i.context,l,o),l.conf&&l.conf.one&&(i.listeners=i.listeners.filter(function(f){return f!==l}));var d=i.callbackContext(i.context,l,o),h=l.callback.apply(d,c);i.afterEmit(i.context,l,o),h===!1&&(o.stopPropagation(),o.preventDefault())}},s=0;s<a;s++)u();i.bubble(i.context)&&!o.isPropagationStopped()&&i.parent(i.context).emit(o,t)},e),this.emitting--,this};var Vg={qualifierCompare:function(e,t){return e==null||t==null?e==null&&t==null:e.sameText(t)},eventMatches:function(e,t,r){var n=t.qualifier;return n==null?!0:e!==r.target&&an(r.target)&&n.matches(r.target)},addEventFields:function(e,t){t.cy=e.cy(),t.target=e},callbackContext:function(e,t,r){return t.qualifier==null?e:r.target},beforeEmit:function(e,t){t.conf&&t.conf.once&&t.conf.onceCollection.removeListener(t.event,t.qualifier,t.callback)},bubble:function(){return!0},parent:function(e){return e.isChild()?e.parent():e.cy()}},ba=function(e){return ce(e)?new or(e):e},lc={createEmitter:function(){for(var e=0;e<this.length;e++){var t=this[e],r=t._private;r.emitter||(r.emitter=new ma(Vg,t))}return this},emitter:function(){return this._private.emitter},on:function(e,t,r){for(var n=ba(t),a=0;a<this.length;a++)this[a].emitter().on(e,n,r);return this},removeListener:function(e,t,r){for(var n=ba(t),a=0;a<this.length;a++)this[a].emitter().removeListener(e,n,r);return this},removeAllListeners:function(){for(var e=0;e<this.length;e++)this[e].emitter().removeAllListeners();return this},one:function(e,t,r){for(var n=ba(t),a=0;a<this.length;a++)this[a].emitter().one(e,n,r);return this},once:function(e,t,r){for(var n=ba(t),a=0;a<this.length;a++)this[a].emitter().on(e,n,r,{once:!0,onceCollection:this})},emit:function(e,t){for(var r=0;r<this.length;r++)this[r].emitter().emit(e,t);return this},emitAndNotify:function(e,t){if(this.length!==0)return this.cy().notify(e,this),this.emit(e,t),this}};Me.eventAliasesOn(lc);var uc={nodes:function(e){return this.filter(function(t){return t.isNode()}).filter(e)},edges:function(e){return this.filter(function(t){return t.isEdge()}).filter(e)},byGroup:function(){for(var e=this.spawn(),t=this.spawn(),r=0;r<this.length;r++){var n=this[r];n.isNode()?e.push(n):t.push(n)}return{nodes:e,edges:t}},filter:function(e,t){if(e===void 0)return this;if(ce(e)||Ct(e))return new or(e).filter(this);if(We(e)){for(var r=this.spawn(),n=this,a=0;a<n.length;a++){var i=n[a];(t?e.apply(t,[i,a,n]):e(i,a,n))&&r.push(i)}return r}return this.spawn()},not:function(e){if(e){ce(e)&&(e=this.filter(e));for(var t=this.spawn(),r=0;r<this.length;r++){var n=this[r];e.has(n)||t.push(n)}return t}else return this},absoluteComplement:function(){return this.cy().mutableElements().not(this)},intersect:function(e){if(ce(e)){var t=e;return this.filter(t)}for(var r=this.spawn(),n=this,a=e,i=this.length<e.length,o=i?n:a,u=i?a:n,s=0;s<o.length;s++){var l=o[s];u.has(l)&&r.push(l)}return r},xor:function(e){var t=this._private.cy;ce(e)&&(e=t.$(e));var r=this.spawn(),n=this,a=e,i=function(o,u){for(var s=0;s<o.length;s++){var l=o[s],c=l._private.data.id;u.hasElementWithId(c)||r.push(l)}};return i(n,a),i(a,n),r},diff:function(e){var t=this._private.cy;ce(e)&&(e=t.$(e));var r=this.spawn(),n=this.spawn(),a=this.spawn(),i=this,o=e,u=function(s,l,c){for(var d=0;d<s.length;d++){var h=s[d],f=h._private.data.id;l.hasElementWithId(f)?a.merge(h):c.push(h)}};return u(i,o,r),u(o,i,n),{left:r,right:n,both:a}},add:function(e){var t=this._private.cy;if(!e)return this;if(ce(e)){var r=e;e=t.mutableElements().filter(r)}for(var n=this.spawnSelf(),a=0;a<e.length;a++){var i=e[a];this.has(i)||n.push(i)}return n},merge:function(e){var t=this._private,r=t.cy;if(!e)return this;if(e&&ce(e)){var n=e;e=r.mutableElements().filter(n)}for(var a=t.map,i=0;i<e.length;i++){var o=e[i],u=o._private.data.id;if(!a.has(u)){var s=this.length++;this[s]=o,a.set(u,{ele:o,index:s})}}return this},unmergeAt:function(e){var t=this[e].id(),r=this._private.map;this[e]=void 0,r.delete(t);var n=e===this.length-1;if(this.length>1&&!n){var a=this.length-1,i=this[a],o=i._private.data.id;this[a]=void 0,this[e]=i,r.set(o,{ele:i,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,r=e._private.data.id,n=t.map.get(r);if(!n)return this;var a=n.index;return this.unmergeAt(a),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&ce(e)){var r=e;e=t.mutableElements().filter(r)}for(var n=0;n<e.length;n++)this.unmergeOne(e[n]);return this},unmergeBy:function(e){for(var t=this.length-1;t>=0;t--){var r=this[t];e(r)&&this.unmergeAt(t)}return this},map:function(e,t){for(var r=[],n=this,a=0;a<n.length;a++){var i=n[a],o=t?e.apply(t,[i,a,n]):e(i,a,n);r.push(o)}return r},reduce:function(e,t){for(var r=t,n=this,a=0;a<n.length;a++)r=e(r,n[a],a,n);return r},max:function(e,t){for(var r=-1/0,n,a=this,i=0;i<a.length;i++){var o=a[i],u=t?e.apply(t,[o,i,a]):e(o,i,a);u>r&&(r=u,n=o)}return{value:r,ele:n}},min:function(e,t){for(var r=1/0,n,a=this,i=0;i<a.length;i++){var o=a[i],u=t?e.apply(t,[o,i,a]):e(o,i,a);u<r&&(r=u,n=o)}return{value:r,ele:n}}},De=uc;De.u=De["|"]=De["+"]=De.union=De.or=De.add,De["\\"]=De["!"]=De["-"]=De.difference=De.relativeComplement=De.subtract=De.not,De.n=De["&"]=De["."]=De.and=De.intersection=De.intersect,De["^"]=De["(+)"]=De["(-)"]=De.symmetricDifference=De.symdiff=De.xor,De.fnFilter=De.filterFn=De.stdFilter=De.filter,De.complement=De.abscomp=De.absoluteComplement;var Fg={isNode:function(){return this.group()==="nodes"},isEdge:function(){return this.group()==="edges"},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var e=this[0];if(e)return e._private.group}},cc=function(e,t){var r=e.cy().hasCompoundNodes();function n(s){var l=s.pstyle("z-compound-depth");return l.value==="auto"?r?s.zDepth():0:l.value==="bottom"?-1:l.value==="top"?pi:0}var a=n(e)-n(t);if(a!==0)return a;function i(s){return s.pstyle("z-index-compare").value==="auto"&&s.isNode()?1:0}var o=i(e)-i(t);if(o!==0)return o;var u=e.pstyle("z-index").value-t.pstyle("z-index").value;return u===0?e.poolIndex()-t.poolIndex():u},xa={forEach:function(e,t){if(We(e))for(var r=this.length,n=0;n<r;n++){var a=this[n];if((t?e.apply(t,[a,n,this]):e(a,n,this))===!1)break}return this},toArray:function(){for(var e=[],t=0;t<this.length;t++)e.push(this[t]);return e},slice:function(e,t){var r=[],n=this.length;t??(t=n),e??(e=0),e<0&&(e=n+e),t<0&&(t=n+t);for(var a=e;a>=0&&a<t&&a<n;a++)r.push(this[a]);return this.spawn(r)},size:function(){return this.length},eq:function(e){return this[e]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return this.length===0},nonempty:function(){return!this.empty()},sort:function(e){if(!We(e))return this;var t=this.toArray().sort(e);return this.spawn(t)},sortByZIndex:function(){return this.sort(cc)},zDepth:function(){var e=this[0];if(e){var t=e._private;if(t.group==="nodes"){var r=t.data.parent?e.parents().size():0;return e.isParent()?r:pi-1}else{var n=t.source,a=t.target,i=n.zDepth(),o=a.zDepth();return Math.max(i,o,0)}}}};xa.each=xa.forEach,(function(){var e="undefined";(typeof Symbol>"u"?"undefined":Ze(Symbol))!=e&&Ze(Symbol.iterator)!=e&&(xa[Symbol.iterator]=function(){var t=this,r={value:void 0,done:!1},n=0,a=this.length;return ms({next:function(){return n<a?r.value=t[n++]:(r.value=void 0,r.done=!0),r}},Symbol.iterator,function(){return this})})})();var Xg=ot({nodeDimensionsIncludeLabels:!1}),wa={layoutDimensions:function(e){e=Xg(e);var t;if(!this.takesUpSpace())t={w:0,h:0};else if(e.nodeDimensionsIncludeLabels){var r=this.boundingBox();t={w:r.w,h:r.h}}else t={w:this.outerWidth(),h:this.outerHeight()};return(t.w===0||t.h===0)&&(t.w=t.h=1),t},layoutPositions:function(e,t,r){var n=this.nodes().filter(function(m){return!m.isParent()}),a=this.cy(),i=t.eles,o=function(m){return m.id()},u=Rr(r,o);e.emit({type:"layoutstart",layout:e}),e.animations=[];var s=function(m,b,x){var B={x:b.x1+b.w/2,y:b.y1+b.h/2},k={x:(x.x-B.x)*m,y:(x.y-B.y)*m};return{x:B.x+k.x,y:B.y+k.y}},l=t.spacingFactor&&t.spacingFactor!==1,c=(function(){if(!l)return null;for(var m=gt(),b=0;b<n.length;b++){var x=n[b],B=u(x,b);ol(m,B.x,B.y)}return m})(),d=Rr(function(m,b){var x=u(m,b);return l&&(x=s(Math.abs(t.spacingFactor),c,x)),t.transform!=null&&(x=t.transform(m,x)),x},o);if(t.animate){for(var h=0;h<n.length;h++){var f=n[h],p=d(f,h);if(t.animateFilter==null||t.animateFilter(f,h)){var v=f.animation({position:p,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(v)}else f.position(p)}if(t.fit){var y=a.animation({fit:{boundingBox:i.boundingBoxAt(d),padding:t.padding},duration:t.animationDuration,easing:t.animationEasing});e.animations.push(y)}else if(t.zoom!==void 0&&t.pan!==void 0){var g=a.animation({zoom:t.zoom,pan:t.pan,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(g)}e.animations.forEach(function(m){return m.play()}),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),Fr.all(e.animations.map(function(m){return m.promise()})).then(function(){e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e})})}else n.positions(d),t.fit&&a.fit(t.eles,t.padding),t.zoom!=null&&a.zoom(t.zoom),t.pan&&a.pan(t.pan),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e});return this},layout:function(e){return this.cy().makeLayout(he({},e,{eles:this}))}};wa.createLayout=wa.makeLayout=wa.layout;function dc(e,t,r){var n=r._private,a=n.styleCache=n.styleCache||[],i;return(i=a[e])??(i=a[e]=t(r)),i}function Ea(e,t){return e=vr(e),function(r){return dc(e,t,r)}}function ka(e,t){e=vr(e);var r=function(n){return t.call(n)};return function(){var n=this[0];if(n)return dc(e,r,n)}}var st={recalculateRenderedStyle:function(e){var t=this.cy(),r=t.renderer(),n=t.styleEnabled();return r&&n&&r.recalculateRenderedStyle(this,e),this},dirtyStyleCache:function(){var e=this.cy(),t=function(n){return n._private.styleCache=null};if(e.hasCompoundNodes()){var r=this.spawnSelf().merge(this.descendants()).merge(this.parents());r.merge(r.connectedEdges()),r.forEach(t)}else this.forEach(function(n){t(n),n.connectedEdges().forEach(t)});return this},updateStyle:function(e){var t=this._private.cy;if(!t.styleEnabled())return this;if(t.batching())return t._private.batchStyleEles.merge(this),this;var r=t.hasCompoundNodes(),n=this;e=!!(e||e===void 0),r&&(n=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var a=n;return e?a.emitAndNotify("style"):a.emit("style"),n.forEach(function(i){return i._private.styleDirty=!0}),this},cleanStyle:function(){var e=this.cy();if(e.styleEnabled())for(var t=0;t<this.length;t++){var r=this[t];r._private.styleDirty&&(r._private.styleDirty=!1,e.style().apply(r))}},parsedStyle:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this[0],n=r.cy();if(n.styleEnabled()&&r)return r._private.styleDirty&&(r._private.styleDirty=!1,n.style().apply(r)),r._private.style[e]??(t?n.style().getDefaultProperty(e):null)},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var r=t.pstyle(e);return r.pfValue===void 0?r.value:r.pfValue}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled()&&t)return t.pstyle(e).units},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var r=this[0];if(r)return t.style().getRenderedStyle(r,e)},style:function(e,t){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,a=r.style();if(Be(e)){var i=e;a.applyBypass(this,i,n),this.emitAndNotify("style")}else if(ce(e))if(t===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,t,n),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?a.getRawStyle(u):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var r=!1,n=t.style(),a=this;if(e===void 0)for(var i=0;i<a.length;i++){var o=a[i];n.removeAllBypasses(o,r)}else{e=e.split(/\s+/);for(var u=0;u<a.length;u++){var s=a[u];n.removeBypasses(s,e,r)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var e=this.cy();if(!e.styleEnabled())return 1;var t=e.hasCompoundNodes(),r=this[0];if(r){var n=r._private,a=r.pstyle("opacity").value;if(!t)return a;var i=n.data.parent?r.parents():null;if(i)for(var o=0;o<i.length;o++)a=i[o].pstyle("opacity").value*a;return a}},transparent:function(){if(!this.cy().styleEnabled())return!1;var e=this[0],t=e.cy().hasCompoundNodes();if(e)return t?e.effectiveOpacity()===0:e.pstyle("opacity").value===0},backgrounding:function(){return this.cy().styleEnabled()?!!this[0]._private.backgrounding:!1}};function Vo(e,t){var r=e._private.data.parent?e.parents():null;if(r)for(var n=0;n<r.length;n++){var a=r[n];if(!t(a))return!1}return!0}function Fo(e){var t=e.ok,r=e.edgeOkViaNode||e.ok,n=e.parentOk||e.ok;return function(){var a=this.cy();if(!a.styleEnabled())return!0;var i=this[0],o=a.hasCompoundNodes();if(i){var u=i._private;if(!t(i))return!1;if(i.isNode())return!o||Vo(i,n);var s=u.source,l=u.target;return r(s)&&(!o||Vo(s,r))&&(s===l||r(l)&&(!o||Vo(l,r)))}}}var jr=Ea("eleTakesUpSpace",function(e){return e.pstyle("display").value==="element"&&e.width()!==0&&(e.isNode()?e.height()!==0:!0)});st.takesUpSpace=ka("takesUpSpace",Fo({ok:jr})),st.interactive=ka("interactive",Fo({ok:Ea("eleInteractive",function(e){return e.pstyle("events").value==="yes"&&e.pstyle("visibility").value==="visible"&&jr(e)}),parentOk:Ea("parentInteractive",function(e){return e.pstyle("visibility").value==="visible"&&jr(e)}),edgeOkViaNode:jr})),st.noninteractive=function(){var e=this[0];if(e)return!e.interactive()},st.visible=ka("visible",Fo({ok:Ea("eleVisible",function(e){return e.pstyle("visibility").value==="visible"&&e.pstyle("opacity").pfValue!==0&&jr(e)}),edgeOkViaNode:jr})),st.hidden=function(){var e=this[0];if(e)return!e.visible()},st.isBundledBezier=ka("isBundledBezier",function(){return this.cy().styleEnabled()?!this.removed()&&this.pstyle("curve-style").value==="bezier"&&this.takesUpSpace():!1}),st.bypass=st.css=st.style,st.renderedCss=st.renderedStyle,st.removeBypass=st.removeCss=st.removeStyle,st.pstyle=st.parsedStyle;var hr={};function hc(e){return function(){var t=arguments,r=[];if(t.length===2){var n=t[0],a=t[1];this.on(e.event,n,a)}else if(t.length===1&&We(t[0])){var i=t[0];this.on(e.event,i)}else if(t.length===0||t.length===1&&ze(t[0])){for(var o=t.length===1?t[0]:null,u=0;u<this.length;u++){var s=this[u],l=!e.ableField||s._private[e.ableField],c=s._private[e.field]!=e.value;if(e.overrideAble){var d=e.overrideAble(s);if(d!==void 0&&(l=d,!d))return this}l&&(s._private[e.field]=e.value,c&&r.push(s))}var h=this.spawn(r);h.updateStyle(),h.emit(e.event),o&&h.emit(o)}return this}}function Wr(e){hr[e.field]=function(){var t=this[0];if(t){if(e.overrideField){var r=e.overrideField(t);if(r!==void 0)return r}return t._private[e.field]}},hr[e.on]=hc({event:e.on,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!0}),hr[e.off]=hc({event:e.off,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!1})}Wr({field:"locked",overrideField:function(e){return e.cy().autolock()?!0:void 0},on:"lock",off:"unlock"}),Wr({field:"grabbable",overrideField:function(e){return e.cy().autoungrabify()||e.pannable()?!1:void 0},on:"grabify",off:"ungrabify"}),Wr({field:"selected",ableField:"selectable",overrideAble:function(e){return e.cy().autounselectify()?!1:void 0},on:"select",off:"unselect"}),Wr({field:"selectable",overrideField:function(e){return e.cy().autounselectify()?!1:void 0},on:"selectify",off:"unselectify"}),hr.deselect=hr.unselect,hr.grabbed=function(){var e=this[0];if(e)return e._private.grabbed},Wr({field:"active",on:"activate",off:"unactivate"}),Wr({field:"pannable",on:"panify",off:"unpanify"}),hr.inactive=function(){var e=this[0];if(e)return!e._private.active};var ht={},fc=function(e){return function(t){for(var r=this,n=[],a=0;a<r.length;a++){var i=r[a];if(i.isNode()){for(var o=!1,u=i.connectedEdges(),s=0;s<u.length;s++){var l=u[s],c=l.source(),d=l.target();if(e.noIncomingEdges&&d===i&&c!==i||e.noOutgoingEdges&&c===i&&d!==i){o=!0;break}}o||n.push(i)}}return this.spawn(n,!0).filter(t)}},pc=function(e){return function(t){for(var r=this,n=[],a=0;a<r.length;a++){var i=r[a];if(i.isNode())for(var o=i.connectedEdges(),u=0;u<o.length;u++){var s=o[u],l=s.source(),c=s.target();e.outgoing&&l===i?(n.push(s),n.push(c)):e.incoming&&c===i&&(n.push(s),n.push(l))}}return this.spawn(n,!0).filter(t)}},gc=function(e){return function(t){for(var r=this,n=[],a={};;){var i=e.outgoing?r.outgoers():r.incomers();if(i.length===0)break;for(var o=!1,u=0;u<i.length;u++){var s=i[u],l=s.id();a[l]||(a[l]=!0,n.push(s),o=!0)}if(!o)break;r=i}return this.spawn(n,!0).filter(t)}};ht.clearTraversalCache=function(){for(var e=0;e<this.length;e++)this[e]._private.traversalCache=null},he(ht,{roots:fc({noIncomingEdges:!0}),leaves:fc({noOutgoingEdges:!0}),outgoers:Pt(pc({outgoing:!0}),"outgoers"),successors:gc({outgoing:!0}),incomers:Pt(pc({incoming:!0}),"incomers"),predecessors:gc({})}),he(ht,{neighborhood:Pt(function(e){for(var t=[],r=this.nodes(),n=0;n<r.length;n++)for(var a=r[n],i=a.connectedEdges(),o=0;o<i.length;o++){var u=i[o],s=u.source(),l=u.target(),c=a===s?l:s;c.length>0&&t.push(c[0]),t.push(u[0])}return this.spawn(t,!0).filter(e)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),ht.neighbourhood=ht.neighborhood,ht.closedNeighbourhood=ht.closedNeighborhood,ht.openNeighbourhood=ht.openNeighborhood,he(ht,{source:Pt(function(e){var t=this[0],r;return t&&(r=t._private.source||t.cy().collection()),r&&e?r.filter(e):r},"source"),target:Pt(function(e){var t=this[0],r;return t&&(r=t._private.target||t.cy().collection()),r&&e?r.filter(e):r},"target"),sources:vc({attr:"source"}),targets:vc({attr:"target"})});function vc(e){return function(t){for(var r=[],n=0;n<this.length;n++){var a=this[n]._private[e.attr];a&&r.push(a)}return this.spawn(r,!0).filter(t)}}he(ht,{edgesWith:Pt(yc(),"edgesWith"),edgesTo:Pt(yc({thisIsSrc:!0}),"edgesTo")});function yc(e){return function(t){var r=[],n=this._private.cy,a=e||{};ce(t)&&(t=n.$(t));for(var i=0;i<t.length;i++)for(var o=t[i]._private.edges,u=0;u<o.length;u++){var s=o[u],l=s._private.data,c=this.hasElementWithId(l.source)&&t.hasElementWithId(l.target),d=t.hasElementWithId(l.source)&&this.hasElementWithId(l.target);(c||d)&&((a.thisIsSrc||a.thisIsTgt)&&(a.thisIsSrc&&!c||a.thisIsTgt&&!d)||r.push(s))}return this.spawn(r,!0)}}he(ht,{connectedEdges:Pt(function(e){for(var t=[],r=this,n=0;n<r.length;n++){var a=r[n];if(a.isNode())for(var i=a._private.edges,o=0;o<i.length;o++){var u=i[o];t.push(u)}}return this.spawn(t,!0).filter(e)},"connectedEdges"),connectedNodes:Pt(function(e){for(var t=[],r=this,n=0;n<r.length;n++){var a=r[n];a.isEdge()&&(t.push(a.source()[0]),t.push(a.target()[0]))}return this.spawn(t,!0).filter(e)},"connectedNodes"),parallelEdges:Pt(mc(),"parallelEdges"),codirectedEdges:Pt(mc({codirected:!0}),"codirectedEdges")});function mc(e){return e=he({},{codirected:!1},e),function(t){for(var r=[],n=this.edges(),a=e,i=0;i<n.length;i++)for(var o=n[i]._private,u=o.source,s=u._private.data.id,l=o.data.target,c=u._private.edges,d=0;d<c.length;d++){var h=c[d],f=h._private.data,p=f.target,v=f.source,y=p===l&&v===s,g=s===p&&l===v;(a.codirected&&y||!a.codirected&&(y||g))&&r.push(h)}return this.spawn(r,!0).filter(t)}}he(ht,{components:function(e){var t=this,r=t.cy(),n=r.collection(),a=e==null?t.nodes():e.nodes(),i=[];e!=null&&a.empty()&&(a=e.sources());var o=function(s,l){n.merge(s),a.unmerge(s),l.merge(s)};if(a.empty())return t.spawn();var u=function(){var s=r.collection();i.push(s);var l=a[0];o(l,s),t.bfs({directed:!1,roots:l,visit:function(c){return o(c,s)}}),s.forEach(function(c){c.connectedEdges().forEach(function(d){t.has(d)&&s.has(d.source())&&s.has(d.target())&&s.merge(d)})})};do u();while(a.length>0);return i},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),ht.componentsOf=ht.components;var lt=function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){qe("A collection must have a reference to the core");return}var a=new jt,i=!1;if(!t)t=[];else if(t.length>0&&Be(t[0])&&!an(t[0])){i=!0;for(var o=[],u=new Mr,s=0,l=t.length;s<l;s++){var c=t[s];c.data??(c.data={});var d=c.data;if(d.id==null)d.id=el();else if(e.hasElementWithId(d.id)||u.has(d.id))continue;var h=new Kn(e,c,!1);o.push(h),u.add(d.id)}t=o}this.length=0;for(var f=0,p=t.length;f<p;f++){var v=t[f][0];if(v!=null){var y=v._private.data.id;(!r||!a.has(y))&&(r&&a.set(y,{index:this.length,ele:v}),this[this.length]=v,this.length++)}}this._private={eles:this,cy:e,get map(){return this.lazyMap??this.rebuildMap(),this.lazyMap},set map(g){this.lazyMap=g},rebuildMap:function(){for(var g=this.lazyMap=new jt,m=this.eles,b=0;b<m.length;b++){var x=m[b];g.set(x.id(),{index:b,ele:x})}}},r&&(this._private.map=a),i&&!n&&this.restore()},Ve=Kn.prototype=lt.prototype=Object.create(Array.prototype);Ve.instanceString=function(){return"collection"},Ve.spawn=function(e,t){return new lt(this.cy(),e,t)},Ve.spawnSelf=function(){return this.spawn(this)},Ve.cy=function(){return this._private.cy},Ve.renderer=function(){return this._private.cy.renderer()},Ve.element=function(){return this[0]},Ve.collection=function(){return Es(this)?this:new lt(this._private.cy,[this])},Ve.unique=function(){return new lt(this._private.cy,this,!0)},Ve.hasElementWithId=function(e){return e=""+e,this._private.map.has(e)},Ve.getElementById=function(e){e=""+e;var t=this._private.cy,r=this._private.map.get(e);return r?r.ele:new lt(t)},Ve.$id=Ve.getElementById,Ve.poolIndex=function(){var e=this._private.cy._private.elements,t=this[0]._private.data.id;return e._private.map.get(t).index},Ve.indexOf=function(e){var t=e[0]._private.data.id;return this._private.map.get(t).index},Ve.indexOfId=function(e){return e=""+e,this._private.map.get(e).index},Ve.json=function(e){var t=this.element(),r=this.cy();if(t==null&&e)return this;if(t!=null){var n=t._private;if(Be(e)){if(r.startBatch(),e.data){t.data(e.data);var a=n.data;if(t.isEdge()){var i=!1,o={},u=e.data.source,s=e.data.target;u!=null&&u!=a.source&&(o.source=""+u,i=!0),s!=null&&s!=a.target&&(o.target=""+s,i=!0),i&&(t=t.move(o))}else{var l="parent"in e.data,c=e.data.parent;l&&(c!=null||a.parent!=null)&&c!=a.parent&&(c===void 0&&(c=null),c!=null&&(c=""+c),t=t.move({parent:c}))}}e.position&&t.position(e.position);var d=function(p,v,y){var g=e[p];g!=null&&g!==n[p]&&(g?t[v]():t[y]())};return d("removed","remove","restore"),d("selected","select","unselect"),d("selectable","selectify","unselectify"),d("locked","lock","unlock"),d("grabbable","grabify","ungrabify"),d("pannable","panify","unpanify"),e.classes!=null&&t.classes(e.classes),r.endBatch(),this}else if(e===void 0){var h={data:Nt(n.data),position:Nt(n.position),group:n.group,removed:n.removed,selected:n.selected,selectable:n.selectable,locked:n.locked,grabbable:n.grabbable,pannable:n.pannable,classes:null};h.classes="";var f=0;return n.classes.forEach(function(p){return h.classes+=f++===0?p:" "+p}),h}}},Ve.jsons=function(){for(var e=[],t=0;t<this.length;t++){var r=this[t].json();e.push(r)}return e},Ve.clone=function(){for(var e=this.cy(),t=[],r=0;r<this.length;r++){var n=new Kn(e,this[r].json(),!1);t.push(n)}return new lt(e,t)},Ve.copy=Ve.clone,Ve.restore=function(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),a=n._private,i=[],o=[],u,s=0,l=r.length;s<l;s++){var c=r[s];t&&!c.removed()||(c.isNode()?i.push(c):o.push(c))}u=i.concat(o);var d,h=function(){u.splice(d,1),d--};for(d=0;d<u.length;d++){var f=u[d],p=f._private,v=p.data;if(f.clearTraversalCache(),!(!t&&!p.removed)){if(v.id===void 0)v.id=el();else if(ee(v.id))v.id=""+v.id;else if(Qt(v.id)||!ce(v.id)){qe("Can not create element with invalid string ID `"+v.id+"`"),h();continue}else if(n.hasElementWithId(v.id)){qe("Can not create second element with ID `"+v.id+"`"),h();continue}}var y=v.id;if(f.isNode()){var g=p.position;g.x??(g.x=0),g.y??(g.y=0)}if(f.isEdge()){for(var m=f,b=["source","target"],x=b.length,B=!1,k=0;k<x;k++){var w=b[k],S=v[w];ee(S)&&(S=v[w]=""+v[w]),S==null||S===""?(qe("Can not create edge `"+y+"` with unspecified "+w),B=!0):n.hasElementWithId(S)||(qe("Can not create edge `"+y+"` with nonexistant "+w+" `"+S+"`"),B=!0)}if(B){h();continue}var E=n.getElementById(v.source),P=n.getElementById(v.target);E.same(P)?E._private.edges.push(m):(E._private.edges.push(m),P._private.edges.push(m)),m._private.source=E,m._private.target=P}p.map=new jt,p.map.set(y,{ele:f,index:0}),p.removed=!1,t&&n.addToPool(f)}for(var C=0;C<i.length;C++){var A=i[C],D=A._private.data;ee(D.parent)&&(D.parent=""+D.parent);var R=D.parent;if(R!=null||A._private.parent){var _=A._private.parent?n.collection().merge(A._private.parent):n.getElementById(R);if(_.empty())D.parent=void 0;else if(_[0].removed())_e("Node added with missing parent, reference to parent removed"),D.parent=void 0,A._private.parent=null;else{for(var I=!1,M=_;!M.empty();){if(A.same(M)){I=!0,D.parent=void 0;break}M=M.parent()}I||(_[0]._private.children.push(A),A._private.parent=_[0],a.hasCompoundNodes=!0)}}}if(u.length>0){for(var N=u.length===r.length?r:new lt(n,u),V=0;V<N.length;V++){var Y=N[V];Y.isNode()||(Y.parallelEdges().clearTraversalCache(),Y.source().clearTraversalCache(),Y.target().clearTraversalCache())}(a.hasCompoundNodes?n.collection().merge(N).merge(N.connectedNodes()).merge(N.parent()):N).dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(e),e?N.emitAndNotify("add"):t&&N.emit("add")}return r},Ve.removed=function(){var e=this[0];return e&&e._private.removed},Ve.inside=function(){var e=this[0];return e&&!e._private.removed},Ve.remove=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],a={},i=r._private.cy;function o(D){for(var R=D._private.edges,_=0;_<R.length;_++)s(R[_])}function u(D){for(var R=D._private.children,_=0;_<R.length;_++)s(R[_])}function s(D){var R=a[D.id()];t&&D.removed()||R||(a[D.id()]=!0,D.isNode()?(n.push(D),o(D),u(D)):n.unshift(D))}for(var l=0,c=r.length;l<c;l++){var d=r[l];s(d)}function h(D,R){var _=D._private.edges;tr(_,R),D.clearTraversalCache()}function f(D){D.clearTraversalCache()}var p=[];p.ids={};function v(D,R){R=R[0],D=D[0];var _=D._private.children,I=D.id();tr(_,R),R._private.parent=null,p.ids[I]||(p.ids[I]=!0,p.push(D))}r.dirtyCompoundBoundsCache(),t&&i.removeFromPool(n);for(var y=0;y<n.length;y++){var g=n[y];if(g.isEdge()){var m=g.source()[0],b=g.target()[0];h(m,g),h(b,g);for(var x=g.parallelEdges(),B=0;B<x.length;B++){var k=x[B];f(k),k.isBundledBezier()&&k.dirtyBoundingBoxCache()}}else{var w=g.parent();w.length!==0&&v(w,g)}t&&(g._private.removed=!0)}var S=i._private.elements;i._private.hasCompoundNodes=!1;for(var E=0;E<S.length;E++)if(S[E].isParent()){i._private.hasCompoundNodes=!0;break}var P=new lt(this.cy(),n);P.size()>0&&(e?P.emitAndNotify("remove"):t&&P.emit("remove"));for(var C=0;C<p.length;C++){var A=p[C];(!t||!A.removed())&&A.updateStyle()}return P},Ve.move=function(e){var t=this._private.cy,r=this,n=!1,a=!1,i=function(h){return h==null?h:""+h};if(e.source!==void 0||e.target!==void 0){var o=i(e.source),u=i(e.target),s=o!=null&&t.hasElementWithId(o),l=u!=null&&t.hasElementWithId(u);(s||l)&&(t.batch(function(){r.remove(n,a),r.emitAndNotify("moveout");for(var h=0;h<r.length;h++){var f=r[h],p=f._private.data;f.isEdge()&&(s&&(p.source=o),l&&(p.target=u))}r.restore(n,a)}),r.emitAndNotify("move"))}else if(e.parent!==void 0){var c=i(e.parent);if(c===null||t.hasElementWithId(c)){var d=c===null?void 0:c;t.batch(function(){var h=r.remove(n,a);h.emitAndNotify("moveout");for(var f=0;f<r.length;f++){var p=r[f],v=p._private.data;p.isNode()&&(v.parent=d)}h.restore(n,a)}),r.emitAndNotify("move")}}return this},[Dl,fg,ha,lr,Yr,Cg,pa,Ng,lc,uc,Fg,xa,wa,st,hr,ht].forEach(function(e){he(Ve,e)});var Yg={add:function(e){var t,r=this;if(Ct(e)){var n=e;if(n._private.cy===r)t=n.restore();else{for(var a=[],i=0;i<n.length;i++){var o=n[i];a.push(o.json())}t=new lt(r,a)}}else if(ze(e))t=new lt(r,e);else if(Be(e)&&(ze(e.nodes)||ze(e.edges))){for(var u=e,s=[],l=["nodes","edges"],c=0,d=l.length;c<d;c++){var h=l[c],f=u[h];if(ze(f))for(var p=0,v=f.length;p<v;p++){var y=he({group:h},f[p]);s.push(y)}}t=new lt(r,s)}else t=new Kn(r,e).collection();return t},remove:function(e){if(!Ct(e)&&ce(e)){var t=e;e=this.$(t)}return e.remove()}};function qg(e,t,r,n){var a=4,i=.001,o=1e-7,u=10,s=11,l=1/(s-1),c=typeof Float32Array<"u";if(arguments.length!==4)return!1;for(var d=0;d<4;++d)if(typeof arguments[d]!="number"||isNaN(arguments[d])||!isFinite(arguments[d]))return!1;e=Math.min(e,1),r=Math.min(r,1),e=Math.max(e,0),r=Math.max(r,0);var h=c?new Float32Array(s):Array(s);function f(P,C){return 1-3*C+3*P}function p(P,C){return 3*C-6*P}function v(P){return 3*P}function y(P,C,A){return((f(C,A)*P+p(C,A))*P+v(C))*P}function g(P,C,A){return 3*f(C,A)*P*P+2*p(C,A)*P+v(C)}function m(P,C){for(var A=0;A<a;++A){var D=g(C,e,r);if(D===0)return C;var R=y(C,e,r)-P;C-=R/D}return C}function b(){for(var P=0;P<s;++P)h[P]=y(P*l,e,r)}function x(P,C,A){var D,R,_=0;do R=C+(A-C)/2,D=y(R,e,r)-P,D>0?A=R:C=R;while(Math.abs(D)>o&&++_<u);return R}function B(P){for(var C=0,A=1,D=s-1;A!==D&&h[A]<=P;++A)C+=l;--A;var R=(P-h[A])/(h[A+1]-h[A]),_=C+R*l,I=g(_,e,r);return I>=i?m(P,_):I===0?_:x(P,C,C+l)}var k=!1;function w(){k=!0,(e!==t||r!==n)&&b()}var S=function(P){return k||w(),e===t&&r===n?P:P===0?0:P===1?1:y(B(P),t,n)};S.getControlPoints=function(){return[{x:e,y:t},{x:r,y:n}]};var E="generateBezier("+[e,t,r,n]+")";return S.toString=function(){return E},S}var jg=(function(){function e(n){return-n.tension*n.x-n.friction*n.v}function t(n,a,i){var o={x:n.x+i.dx*a,v:n.v+i.dv*a,tension:n.tension,friction:n.friction};return{dx:o.v,dv:e(o)}}function r(n,a){var i={dx:n.v,dv:e(n)},o=t(n,a*.5,i),u=t(n,a*.5,o),s=t(n,a,u),l=1/6*(i.dx+2*(o.dx+u.dx)+s.dx),c=1/6*(i.dv+2*(o.dv+u.dv)+s.dv);return n.x+=l*a,n.v+=c*a,n}return function n(a,i,o){var u={x:-1,v:0,tension:null,friction:null},s=[0],l=0,c=1/1e4,d=16/1e3,h,f,p;for(a=parseFloat(a)||500,i=parseFloat(i)||20,o||(o=null),u.tension=a,u.friction=i,h=o!==null,h?(l=n(a,i),f=l/o*d):f=d;p=r(p||u,f),s.push(1+p.x),l+=16,Math.abs(p.x)>c&&Math.abs(p.v)>c;);return h?function(v){return s[v*(s.length-1)|0]}:l}})(),Fe=function(e,t,r,n){var a=qg(e,t,r,n);return function(i,o,u){return i+(o-i)*a(u)}},Ta={linear:function(e,t,r){return e+(t-e)*r},ease:Fe(.25,.1,.25,1),"ease-in":Fe(.42,0,1,1),"ease-out":Fe(0,0,.58,1),"ease-in-out":Fe(.42,0,.58,1),"ease-in-sine":Fe(.47,0,.745,.715),"ease-out-sine":Fe(.39,.575,.565,1),"ease-in-out-sine":Fe(.445,.05,.55,.95),"ease-in-quad":Fe(.55,.085,.68,.53),"ease-out-quad":Fe(.25,.46,.45,.94),"ease-in-out-quad":Fe(.455,.03,.515,.955),"ease-in-cubic":Fe(.55,.055,.675,.19),"ease-out-cubic":Fe(.215,.61,.355,1),"ease-in-out-cubic":Fe(.645,.045,.355,1),"ease-in-quart":Fe(.895,.03,.685,.22),"ease-out-quart":Fe(.165,.84,.44,1),"ease-in-out-quart":Fe(.77,0,.175,1),"ease-in-quint":Fe(.755,.05,.855,.06),"ease-out-quint":Fe(.23,1,.32,1),"ease-in-out-quint":Fe(.86,0,.07,1),"ease-in-expo":Fe(.95,.05,.795,.035),"ease-out-expo":Fe(.19,1,.22,1),"ease-in-out-expo":Fe(1,0,0,1),"ease-in-circ":Fe(.6,.04,.98,.335),"ease-out-circ":Fe(.075,.82,.165,1),"ease-in-out-circ":Fe(.785,.135,.15,.86),spring:function(e,t,r){if(r===0)return Ta.linear;var n=jg(e,t,r);return function(a,i,o){return a+(i-a)*n(o)}},"cubic-bezier":Fe};function bc(e,t,r,n,a){if(n===1||t===r)return r;var i=a(t,r,n);return e==null||((e.roundValue||e.color)&&(i=Math.round(i)),e.min!==void 0&&(i=Math.max(i,e.min)),e.max!==void 0&&(i=Math.min(i,e.max))),i}function xc(e,t){return e.pfValue!=null||e.value!=null?e.pfValue!=null&&(t==null||t.type.units!=="%")?e.pfValue:e.value:e}function Ur(e,t,r,n,a){var i=a==null?null:a.type;r<0?r=0:r>1&&(r=1);var o=xc(e,a),u=xc(t,a);if(ee(o)&&ee(u))return bc(i,o,u,r,n);if(ze(o)&&ze(u)){for(var s=[],l=0;l<u.length;l++){var c=o[l],d=u[l];if(c!=null&&d!=null){var h=bc(i,c,d,r,n);s.push(h)}else s.push(d)}return s}}function Wg(e,t,r,n){var a=!n,i=e._private,o=t._private,u=o.easing,s=o.startTime,l=(n?e:e.cy()).style();if(!o.easingImpl)if(u==null)o.easingImpl=Ta.linear;else{var c=ce(u)?l.parse("transition-timing-function",u).value:u,d,h;ce(c)?(d=c,h=[]):(d=c[1],h=c.slice(2).map(function(M){return+M})),h.length>0?(d==="spring"&&h.push(o.duration),o.easingImpl=Ta[d].apply(null,h)):o.easingImpl=Ta[d]}var f=o.easingImpl,p=o.duration===0?1:(r-s)/o.duration;if(o.applying&&(p=o.progress),p<0?p=0:p>1&&(p=1),o.delay==null){var v=o.startPosition,y=o.position;if(y&&a&&!e.locked()){var g={};kn(v.x,y.x)&&(g.x=Ur(v.x,y.x,p,f)),kn(v.y,y.y)&&(g.y=Ur(v.y,y.y,p,f)),e.position(g)}var m=o.startPan,b=o.pan,x=i.pan,B=b!=null&&n;B&&(kn(m.x,b.x)&&(x.x=Ur(m.x,b.x,p,f)),kn(m.y,b.y)&&(x.y=Ur(m.y,b.y,p,f)),e.emit("pan"));var k=o.startZoom,w=o.zoom,S=w!=null&&n;S&&(kn(k,w)&&(i.zoom=pn(i.minZoom,Ur(k,w,p,f),i.maxZoom)),e.emit("zoom")),(B||S)&&e.emit("viewport");var E=o.style;if(E&&E.length>0&&a){for(var P=0;P<E.length;P++){var C=E[P],A=C.name,D=C,R=o.startStyle[A],_=l.properties[R.name],I=Ur(R,D,p,f,_);l.overrideBypass(e,A,I)}e.emit("style")}}return o.progress=p,p}function kn(e,t){return e==null||t==null?!1:ee(e)&&ee(t)?!0:!!(e&&t)}function Ug(e,t,r,n){var a=t._private;a.started=!0,a.startTime=r-a.progress*a.duration}function wc(e,t){var r=t._private.aniEles,n=[];function a(c,d){var h=c._private,f=h.animation.current,p=h.animation.queue,v=!1;if(f.length===0){var y=p.shift();y&&f.push(y)}for(var g=function(B){for(var k=B.length-1;k>=0;k--){var w=B[k];w()}B.splice(0,B.length)},m=f.length-1;m>=0;m--){var b=f[m],x=b._private;if(x.stopped){f.splice(m,1),x.hooked=!1,x.playing=!1,x.started=!1,g(x.frames);continue}!x.playing&&!x.applying||(x.playing&&x.applying&&(x.applying=!1),x.started||Ug(c,b,e),Wg(c,b,e,d),x.applying&&(x.applying=!1),g(x.frames),x.step!=null&&x.step(e),b.completed()&&(f.splice(m,1),x.hooked=!1,x.playing=!1,x.started=!1,g(x.completes)),v=!0)}return!d&&f.length===0&&p.length===0&&n.push(c),v}for(var i=!1,o=0;o<r.length;o++){var u=r[o],s=a(u);i||(i=s)}var l=a(t,!0);(i||l)&&(r.length>0?t.notify("draw",r):t.notify("draw")),r.unmerge(n),t.emit("step")}var $g={animate:Me.animate(),animation:Me.animation(),animated:Me.animated(),clearQueue:Me.clearQueue(),delay:Me.delay(),delayAnimation:Me.delayAnimation(),stop:Me.stop(),addToAnimationPool:function(e){var t=this;t.styleEnabled()&&t._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function t(){e._private.animationsRunning&&Un(function(n){wc(n,e),t()})}var r=e.renderer();r&&r.beforeRender?r.beforeRender(function(n,a){wc(a,e)},r.beforeRenderPriorities.animations):t()}},Gg={qualifierCompare:function(e,t){return e==null||t==null?e==null&&t==null:e.sameText(t)},eventMatches:function(e,t,r){var n=t.qualifier;return n==null?!0:e!==r.target&&an(r.target)&&n.matches(r.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,r){return t.qualifier==null?e:r.target}},Ca=function(e){return ce(e)?new or(e):e},Ec={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new ma(Gg,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,r){return this.emitter().on(e,Ca(t),r),this},removeListener:function(e,t,r){return this.emitter().removeListener(e,Ca(t),r),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,r){return this.emitter().one(e,Ca(t),r),this},once:function(e,t,r){return this.emitter().one(e,Ca(t),r),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};Me.eventAliasesOn(Ec);var Xo={png:function(e){var t=this._private.renderer;return e||(e={}),t.png(e)},jpg:function(e){var t=this._private.renderer;return e||(e={}),e.bg=e.bg||"#fff",t.jpg(e)}};Xo.jpeg=Xo.jpg;var Pa={layout:function(e){var t=this;if(e==null){qe("Layout options must be specified to make a layout");return}if(e.name==null){qe("A `name` must be specified to make a layout");return}var r=e.name,n=t.extension("layout",r);if(n==null){qe("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?");return}return new n(he({},e,{cy:t,eles:ce(e.eles)?t.$(e.eles):e.eles==null?t.$():e.eles}))}};Pa.createLayout=Pa.makeLayout=Pa.layout;var Kg={notify:function(e,t){var r=this._private;if(this.batching()){r.batchNotifications=r.batchNotifications||{};var n=r.batchNotifications[e]=r.batchNotifications[e]||this.collection();t!=null&&n.merge(t);return}if(r.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,t)}},notifications:function(e){var t=this._private;return e===void 0?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount??(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach(function(r){var n=e.batchNotifications[r];n.empty()?t.notify(r):t.notify(r,n)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch(function(){for(var r=Object.keys(e),n=0;n<r.length;n++){var a=r[n],i=e[a];t.getElementById(a).data(i)}})}},Hg=ot({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1,webgl:!1,webglDebug:!1,webglDebugShowAtlases:!1,webglTexSize:2048,webglTexRows:36,webglTexRowsNodes:18,webglBatchSize:2048,webglTexPerBatch:14,webglBgColor:[255,255,255]}),Yo={renderTo:function(e,t,r,n){return this._private.renderer.renderTo(e,t,r,n),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(e){var t=this,r=t.extension("renderer",e.name);if(r==null){qe(`Can not initialise: No such renderer \`${e.name}\` found. Did you forget to import it and \`cytoscape.use()\` it?`);return}e.wheelSensitivity!==void 0&&_e("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var n=Hg(e);n.cy=t,t._private.renderer=new r(n),this.notify("init")},destroyRenderer:function(){var e=this;e.notify("destroy");var t=e.container();if(t)for(t._cyreg=null;t.childNodes.length>0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(r){var n=r._private;n.rscratch={},n.rstyle={},n.animation.current=[],n.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Yo.invalidateDimensions=Yo.resize;var Ba={collection:function(e,t){return ce(e)?this.$(e):Ct(e)?e.collection():ze(e)?(t||(t={}),new lt(this,e,t.unique,t.removed)):new lt(this)},nodes:function(e){var t=this.$(function(r){return r.isNode()});return e?t.filter(e):t},edges:function(e){var t=this.$(function(r){return r.isEdge()});return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};Ba.elements=Ba.filter=Ba.$;var nt={},Tn="t",Zg="f";nt.apply=function(e){for(var t=this,r=t._private.cy.collection(),n=0;n<e.length;n++){var a=e[n],i=t.getContextMeta(a);if(!i.empty){var o=t.getContextStyle(i),u=t.applyContextStyle(i,o,a);a._private.appliedInitStyle?t.updateTransitions(a,u.diffProps):a._private.appliedInitStyle=!0,t.updateStyleHints(a)&&r.push(a)}}return r},nt.getPropertiesDiff=function(e,t){var r=this,n=r._private.propDiffs=r._private.propDiffs||{},a=e+"-"+t,i=n[a];if(i)return i;for(var o=[],u={},s=0;s<r.length;s++){var l=r[s],c=e[s]===Tn,d=t[s]===Tn,h=c!==d,f=l.mappedProperties.length>0;if(h||d&&f){var p=void 0;h&&f||h?p=l.properties:f&&(p=l.mappedProperties);for(var v=0;v<p.length;v++){for(var y=p[v],g=y.name,m=!1,b=s+1;b<r.length;b++){var x=r[b];if(t[b]===Tn&&(m=x.properties[y.name]!=null,m))break}!u[g]&&!m&&(u[g]=!0,o.push(g))}}}return n[a]=o,o},nt.getContextMeta=function(e){for(var t=this,r="",n,a=e._private.styleCxtKey||"",i=0;i<t.length;i++){var o=t[i];o.selector&&o.selector.matches(e)?r+=Tn:r+=Zg}return n=t.getPropertiesDiff(a,r),e._private.styleCxtKey=r,{key:r,diffPropNames:n,empty:n.length===0}},nt.getContextStyle=function(e){var t=e.key,r=this,n=this._private.contextStyles=this._private.contextStyles||{};if(n[t])return n[t];for(var a={_private:{key:t}},i=0;i<r.length;i++){var o=r[i];if(t[i]===Tn)for(var u=0;u<o.properties.length;u++){var s=o.properties[u];a[s.name]=s}}return n[t]=a,a},nt.applyContextStyle=function(e,t,r){for(var n=this,a=e.diffPropNames,i={},o=n.types,u=0;u<a.length;u++){var s=a[u],l=t[s],c=r.pstyle(s);if(!l)if(c)l=c.bypass?{name:s,deleteBypassed:!0}:{name:s,delete:!0};else continue;if(c!==l){if(l.mapped===o.fn&&c!=null&&c.mapping!=null&&c.mapping.value===l.value){var d=c.mapping;if((d.fnValue=l.value(r))===d.prevFnValue)continue}var h=i[s]={prev:c};n.applyParsedProperty(r,l),h.next=r.pstyle(s),h.next&&h.next.bypass&&(h.next=h.next.bypassed)}}return{diffProps:i}},nt.updateStyleHints=function(e){var t=e._private,r=this,n=r.propertyGroupNames,a=r.propertyGroupKeys,i=function(O,z,F){return r.getPropertiesHash(O,z,F)},o=t.styleKey;if(e.removed())return!1;var u=t.group==="nodes",s=e._private.style;n=Object.keys(s);for(var l=0;l<a.length;l++){var c=a[l];t.styleKeys[c]=[gr,_r]}for(var d=function(O,z){return t.styleKeys[z][0]=cn(O,t.styleKeys[z][0])},h=function(O,z){return t.styleKeys[z][1]=dn(O,t.styleKeys[z][1])},f=function(O,z){d(O,z),h(O,z)},p=function(O,z){for(var F=0;F<O.length;F++){var Z=O.charCodeAt(F);d(Z,z),h(Z,z)}},v=2e9,y=function(O){return-128<O&&O<128&&Math.floor(O)!==O?v-(O*1024|0):O},g=0;g<n.length;g++){var m=n[g],b=s[m];if(b!=null){var x=this.properties[m],B=x.type,k=x.groupKey,w=void 0;x.hashOverride==null?b.pfValue!=null&&(w=b.pfValue):w=x.hashOverride(e,b);var S=x.enums==null?b.value:null,E=w!=null,P=E||S!=null,C=b.units;B.number&&P&&!B.multiple?(f(y(E?w:S),k),!E&&C!=null&&p(C,k)):p(b.strValue,k)}}for(var A=[gr,_r],D=0;D<a.length;D++){var R=a[D],_=t.styleKeys[R];A[0]=cn(_[0],A[0]),A[1]=dn(_[1],A[1])}t.styleKey=Rh(A[0],A[1]);var I=t.styleKeys;t.labelDimsKey=er(I.labelDimensions);var M=i(e,["label"],I.labelDimensions);if(t.labelKey=er(M),t.labelStyleKey=er($n(I.commonLabel,M)),!u){var N=i(e,["source-label"],I.labelDimensions);t.sourceLabelKey=er(N),t.sourceLabelStyleKey=er($n(I.commonLabel,N));var V=i(e,["target-label"],I.labelDimensions);t.targetLabelKey=er(V),t.targetLabelStyleKey=er($n(I.commonLabel,V))}if(u){var Y=t.styleKeys,q=Y.nodeBody,W=Y.nodeBorder,H=Y.nodeOutline,j=Y.backgroundImage,$=Y.compound,J=Y.pie,Q=Y.stripe;t.nodeKey=er([q,W,H,j,$,J,Q].filter(function(O){return O!=null}).reduce($n,[gr,_r])),t.hasPie=J!=null&&J[0]!==gr&&J[1]!==_r,t.hasStripe=Q!=null&&Q[0]!==gr&&Q[1]!==_r}return o!==t.styleKey},nt.clearStyleHints=function(e){var t=e._private;t.styleCxtKey="",t.styleKeys={},t.styleKey=null,t.labelKey=null,t.labelStyleKey=null,t.sourceLabelKey=null,t.sourceLabelStyleKey=null,t.targetLabelKey=null,t.targetLabelStyleKey=null,t.nodeKey=null,t.hasPie=null,t.hasStripe=null},nt.applyParsedProperty=function(e,t){var r=this,n=t,a=e._private.style,i,o=r.types,u=r.properties[n.name].type,s=n.bypass,l=a[n.name],c=l&&l.bypass,d=e._private,h="mapping",f=function(W){return W==null?null:W.pfValue==null?W.value:W.pfValue},p=function(){var W=f(l),H=f(n);r.checkTriggers(e,n.name,W,H)};if(t.name==="curve-style"&&e.isEdge()&&(t.value!=="bezier"&&e.isLoop()||t.value==="haystack"&&(e.source().isParent()||e.target().isParent()))&&(n=t=this.parse(t.name,"bezier",s)),n.delete)return a[n.name]=void 0,p(),!0;if(n.deleteBypassed)return l?l.bypass?(l.bypassed=void 0,p(),!0):!1:(p(),!0);if(n.deleteBypass)return l?l.bypass?(a[n.name]=l.bypassed,p(),!0):!1:(p(),!0);var v=function(){_e("Do not assign mappings to elements without corresponding data (i.e. ele `"+e.id()+"` has no mapping for property `"+n.name+"` with data field `"+n.field+"`); try a `["+n.field+"]` selector to limit scope to elements with `"+n.field+"` defined")};switch(n.mapped){case o.mapData:for(var y=n.field.split("."),g=d.data,m=0;m<y.length&&g;m++){var b=y[m];g=g[b]}if(g==null)return v(),!1;var x;if(ee(g)){var B=n.fieldMax-n.fieldMin;x=B===0?0:(g-n.fieldMin)/B}else return _e("Do not use continuous mappers without specifying numeric data (i.e. `"+n.field+": "+g+"` for `"+e.id()+"` is non-numeric)"),!1;if(x<0?x=0:x>1&&(x=1),u.color){var k=n.valueMin[0],w=n.valueMax[0],S=n.valueMin[1],E=n.valueMax[1],P=n.valueMin[2],C=n.valueMax[2],A=n.valueMin[3]==null?1:n.valueMin[3],D=n.valueMax[3]==null?1:n.valueMax[3],R=[Math.round(k+(w-k)*x),Math.round(S+(E-S)*x),Math.round(P+(C-P)*x),Math.round(A+(D-A)*x)];i={bypass:n.bypass,name:n.name,value:R,strValue:"rgb("+R[0]+", "+R[1]+", "+R[2]+")"}}else if(u.number){var _=n.valueMin+(n.valueMax-n.valueMin)*x;i=this.parse(n.name,_,n.bypass,h)}else return!1;if(!i)return v(),!1;i.mapping=n,n=i;break;case o.data:for(var I=n.field.split("."),M=d.data,N=0;N<I.length&&M;N++){var V=I[N];M=M[V]}if(M!=null&&(i=this.parse(n.name,M,n.bypass,h)),!i)return v(),!1;i.mapping=n,n=i;break;case o.fn:var Y=n.value,q=n.fnValue==null?Y(e):n.fnValue;if(n.prevFnValue=q,q==null)return _e("Custom function mappers may not return null (i.e. `"+n.name+"` for ele `"+e.id()+"` is null)"),!1;if(i=this.parse(n.name,q,n.bypass,h),!i)return _e("Custom function mappers may not return invalid values for the property type (i.e. `"+n.name+"` for ele `"+e.id()+"` is invalid)"),!1;i.mapping=Nt(n),n=i;break;case void 0:break;default:return!1}return s?(c?n.bypassed=l.bypassed:n.bypassed=l,a[n.name]=n):c?l.bypassed=n:a[n.name]=n,p(),!0},nt.cleanElements=function(e,t){for(var r=0;r<e.length;r++){var n=e[r];if(this.clearStyleHints(n),n.dirtyCompoundBoundsCache(),n.dirtyBoundingBoxCache(),!t)n._private.style={};else for(var a=n._private.style,i=Object.keys(a),o=0;o<i.length;o++){var u=i[o],s=a[u];s!=null&&(s.bypass?s.bypassed=null:a[u]=null)}}},nt.update=function(){this._private.cy.mutableElements().updateStyle()},nt.updateTransitions=function(e,t){var r=this,n=e._private,a=e.pstyle("transition-property").value,i=e.pstyle("transition-duration").pfValue,o=e.pstyle("transition-delay").pfValue;if(a.length>0&&i>0){for(var u={},s=!1,l=0;l<a.length;l++){var c=a[l],d=e.pstyle(c),h=t[c];if(h){var f=h.prev,p=h.next==null?d:h.next,v=!1,y=void 0,g=1e-6;f&&(ee(f.pfValue)&&ee(p.pfValue)?(v=p.pfValue-f.pfValue,y=f.pfValue+g*v):ee(f.value)&&ee(p.value)?(v=p.value-f.value,y=f.value+g*v):ze(f.value)&&ze(p.value)&&(v=f.value[0]!==p.value[0]||f.value[1]!==p.value[1]||f.value[2]!==p.value[2],y=f.strValue),v&&(u[c]=p.strValue,this.applyBypass(e,c,y),s=!0))}}if(!s)return;n.transitioning=!0,new Fr(function(m){o>0?e.delayAnimation(o).play().promise().then(m):m()}).then(function(){return e.animation({style:u,duration:i,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(e,a),e.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(n.transitioning=(this.removeBypasses(e,a),e.emitAndNotify("style"),!1))},nt.checkTrigger=function(e,t,r,n,a,i){var o=this.properties[t],u=a(o);e.removed()||u!=null&&u(r,n,e)&&i(o)},nt.checkZOrderTrigger=function(e,t,r,n){var a=this;this.checkTrigger(e,t,r,n,function(i){return i.triggersZOrder},function(){a._private.cy.notify("zorder",e)})},nt.checkBoundsTrigger=function(e,t,r,n){this.checkTrigger(e,t,r,n,function(a){return a.triggersBounds},function(a){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache()})},nt.checkConnectedEdgesBoundsTrigger=function(e,t,r,n){this.checkTrigger(e,t,r,n,function(a){return a.triggersBoundsOfConnectedEdges},function(a){e.connectedEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})},nt.checkParallelEdgesBoundsTrigger=function(e,t,r,n){this.checkTrigger(e,t,r,n,function(a){return a.triggersBoundsOfParallelEdges},function(a){e.parallelEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})},nt.checkTriggers=function(e,t,r,n){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,r,n),this.checkBoundsTrigger(e,t,r,n),this.checkConnectedEdgesBoundsTrigger(e,t,r,n),this.checkParallelEdgesBoundsTrigger(e,t,r,n)};var Cn={};Cn.applyBypass=function(e,t,r,n){var a=this,i=[],o=!0;if(t==="*"||t==="**"){if(r!==void 0)for(var u=0;u<a.properties.length;u++){var s=a.properties[u].name,l=this.parse(s,r,!0);l&&i.push(l)}}else if(ce(t)){var c=this.parse(t,r,!0);c&&i.push(c)}else if(Be(t)){var d=t;n=r;for(var h=Object.keys(d),f=0;f<h.length;f++){var p=h[f],v=d[p];if(v===void 0&&(v=d[qn(p)]),v!==void 0){var y=this.parse(p,v,!0);y&&i.push(y)}}}else return!1;if(i.length===0)return!1;for(var g=!1,m=0;m<e.length;m++){for(var b=e[m],x={},B=void 0,k=0;k<i.length;k++){var w=i[k];if(n){var S=b.pstyle(w.name);B=x[w.name]={prev:S}}g=this.applyParsedProperty(b,Nt(w))||g,n&&(B.next=b.pstyle(w.name))}g&&this.updateStyleHints(b),n&&this.updateTransitions(b,x,o)}return g},Cn.overrideBypass=function(e,t,r){t=Za(t);for(var n=0;n<e.length;n++){var a=e[n],i=a._private.style[t],o=this.properties[t].type,u=o.color,s=o.mutiple,l=i?i.pfValue==null?i.value:i.pfValue:null;!i||!i.bypass?this.applyBypass(a,t,r):(i.value=r,i.pfValue!=null&&(i.pfValue=r),u?i.strValue="rgb("+r.join(",")+")":s?i.strValue=r.join(" "):i.strValue=""+r,this.updateStyleHints(a)),this.checkTriggers(a,t,l,r)}},Cn.removeAllBypasses=function(e,t){return this.removeBypasses(e,this.propertyNames,t)},Cn.removeBypasses=function(e,t,r){for(var n=!0,a=0;a<e.length;a++){for(var i=e[a],o={},u=0;u<t.length;u++){var s=t[u],l=this.properties[s],c=i.pstyle(l.name);if(!(!c||!c.bypass)){var d=this.parse(s,"",!0),h=o[l.name]={prev:c};this.applyParsedProperty(i,d),h.next=i.pstyle(l.name)}}this.updateStyleHints(i),r&&this.updateTransitions(i,o,n)}};var qo={};qo.getEmSizeInPixels=function(){var e=this.containerCss("font-size");return e==null?1:parseFloat(e)},qo.containerCss=function(e){var t=this._private.cy,r=t.container(),n=t.window();if(n&&r&&n.getComputedStyle)return n.getComputedStyle(r).getPropertyValue(e)};var Lt={};Lt.getRenderedStyle=function(e,t){return t?this.getStylePropertyValue(e,t,!0):this.getRawStyle(e,!0)},Lt.getRawStyle=function(e,t){var r=this;if(e=e[0],e){for(var n={},a=0;a<r.properties.length;a++){var i=r.properties[a],o=r.getStylePropertyValue(e,i.name,t);o!=null&&(n[i.name]=o,n[qn(i.name)]=o)}return n}},Lt.getIndexedStyle=function(e,t,r,n){return e.pstyle(t)[r][n]??e.cy().style().getDefaultProperty(t)[r][0]},Lt.getStylePropertyValue=function(e,t,r){var n=this;if(e=e[0],e){var a=n.properties[t];a.alias&&(a=a.pointsTo);var i=a.type,o=e.pstyle(a.name);if(o){var u=o.value,s=o.units,l=o.strValue;if(r&&i.number&&u!=null&&ee(u)){var c=e.cy().zoom(),d=function(p){return p*c},h=function(p,v){return d(p)+v},f=ze(u);return(f?s.every(function(p){return p!=null}):s!=null)?f?u.map(function(p,v){return h(p,s[v])}).join(" "):h(u,s):f?u.map(function(p){return ce(p)?p:""+d(p)}).join(" "):""+d(u)}else if(l!=null)return l}return null}},Lt.getAnimationStartStyle=function(e,t){for(var r={},n=0;n<t.length;n++){var a=t[n].name,i=e.pstyle(a);i!==void 0&&(i=Be(i)?this.parse(a,i.strValue):this.parse(a,i)),i&&(r[a]=i)}return r},Lt.getPropsList=function(e){var t=this,r=[],n=e,a=t.properties;if(n)for(var i=Object.keys(n),o=0;o<i.length;o++){var u=i[o],s=n[u],l=a[u]||a[Za(u)],c=this.parse(l.name,s);c&&r.push(c)}return r},Lt.getNonDefaultPropertiesHash=function(e,t,r){var n=r.slice(),a,i,o,u,s,l;for(s=0;s<t.length;s++)if(a=t[s],i=e.pstyle(a,!1),i!=null)if(i.pfValue!=null)n[0]=cn(u,n[0]),n[1]=dn(u,n[1]);else for(o=i.strValue,l=0;l<o.length;l++)u=o.charCodeAt(l),n[0]=cn(u,n[0]),n[1]=dn(u,n[1]);return n},Lt.getPropertiesHash=Lt.getNonDefaultPropertiesHash;var Sa={};Sa.appendFromJson=function(e){for(var t=this,r=0;r<e.length;r++){var n=e[r],a=n.selector,i=n.style||n.css,o=Object.keys(i);t.selector(a);for(var u=0;u<o.length;u++){var s=o[u],l=i[s];t.css(s,l)}}return t},Sa.fromJson=function(e){var t=this;return t.resetToDefault(),t.appendFromJson(e),t},Sa.json=function(){for(var e=[],t=this.defaultLength;t<this.length;t++){for(var r=this[t],n=r.selector,a=r.properties,i={},o=0;o<a.length;o++){var u=a[o];i[u.name]=u.strValue}e.push({selector:n?n.toString():"core",style:i})}return e};var jo={};jo.appendFromString=function(e){var t=this,r=this,n=""+e,a,i,o;n=n.replace(/[/][*](\s|.)+?[*][/]/g,"");function u(){n=n.length>a.length?n.substr(a.length):""}function s(){i=i.length>o.length?i.substr(o.length):""}for(;!n.match(/^\s*$/);){var l=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!l){_e("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}a=l[0];var c=l[1];if(c!=="core"&&new or(c).invalid){_e("Skipping parsing of block: Invalid selector found in string stylesheet: "+c),u();continue}var d=l[2],h=!1;i=d;for(var f=[];!i.match(/^\s*$/);){var p=i.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!p){_e("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+d),h=!0;break}o=p[0];var v=p[1],y=p[2];if(!t.properties[v]){_e("Skipping property: Invalid property name in: "+o),s();continue}if(!r.parse(v,y)){_e("Skipping property: Invalid property definition in: "+o),s();continue}f.push({name:v,val:y}),s()}if(h){u();break}r.selector(c);for(var g=0;g<f.length;g++){var m=f[g];r.css(m.name,m.val)}u()}return r},jo.fromString=function(e){var t=this;return t.resetToDefault(),t.appendFromString(e),t};var Ke={};(function(){var e=Je,t=ch,r=hh,n=fh,a=ph,i=function(z){return"^"+z+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},o=function(z){var F=e+"|\\w+|"+t+"|"+r+"|"+n+"|"+a;return"^"+z+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+e+")\\s*\\,\\s*("+e+")\\s*,\\s*("+F+")\\s*\\,\\s*("+F+")\\)$"},u=[`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`,"^(none)$","^(.+)$"];Ke.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},axisDirectionExplicit:{enums:["leftward","rightward","upward","downward"]},axisDirectionPrimary:{enums:["horizontal","vertical"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},boxSelection:{enums:["contain","overlap","none"]},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle","circle"]},nodeShape:{enums:"rectangle.roundrectangle.round-rectangle.cutrectangle.cut-rectangle.bottomroundrectangle.bottom-round-rectangle.barrel.ellipse.triangle.round-triangle.square.pentagon.round-pentagon.hexagon.round-hexagon.concavehexagon.concave-hexagon.heptagon.round-heptagon.octagon.round-octagon.tag.round-tag.star.diamond.round-diamond.vee.rhomboid.right-rhomboid.polygon".split(".")},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:i("data")},layoutData:{mapping:!0,regex:i("layoutData")},scratch:{mapping:!0,regex:i("scratch")},mapData:{mapping:!0,regex:o("mapData")},mapLayoutData:{mapping:!0,regex:o("mapLayoutData")},mapScratch:{mapping:!0,regex:o("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:u,singleRegexMatchValue:!0},urls:{regexes:u,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(z,F){switch(z.length){case 2:return F[0]!=="deg"&&F[0]!=="rad"&&F[1]!=="deg"&&F[1]!=="rad";case 1:return ce(z[0])||F[0]==="deg"||F[0]==="rad";default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\s*\\)$"],enums:"linear.ease.ease-in.ease-out.ease-in-out.ease-in-sine.ease-out-sine.ease-in-out-sine.ease-in-quad.ease-out-quad.ease-in-out-quad.ease-in-cubic.ease-out-cubic.ease-in-out-cubic.ease-in-quart.ease-out-quart.ease-in-out-quart.ease-in-quint.ease-out-quint.ease-in-out-quint.ease-in-expo.ease-out-expo.ease-in-out-expo.ease-in-circ.ease-out-circ.ease-in-out-circ".split(".")},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(z){var F=z.length;return F===1||F===2||F===4}}};var s={zeroNonZero:function(z,F){return(z==null||F==null)&&z!==F||z==0&&F!=0?!0:z!=0&&F==0},any:function(z,F){return z!=F},emptyNonEmpty:function(z,F){var Z=Qt(z),oe=Qt(F);return Z&&!oe||!Z&&oe}},l=Ke.types,c=[{name:"label",type:l.text,triggersBounds:s.any,triggersZOrder:s.emptyNonEmpty},{name:"text-rotation",type:l.textRotation,triggersBounds:s.any},{name:"text-margin-x",type:l.bidirectionalSize,triggersBounds:s.any},{name:"text-margin-y",type:l.bidirectionalSize,triggersBounds:s.any}],d=[{name:"source-label",type:l.text,triggersBounds:s.any},{name:"source-text-rotation",type:l.textRotation,triggersBounds:s.any},{name:"source-text-margin-x",type:l.bidirectionalSize,triggersBounds:s.any},{name:"source-text-margin-y",type:l.bidirectionalSize,triggersBounds:s.any},{name:"source-text-offset",type:l.size,triggersBounds:s.any}],h=[{name:"target-label",type:l.text,triggersBounds:s.any},{name:"target-text-rotation",type:l.textRotation,triggersBounds:s.any},{name:"target-text-margin-x",type:l.bidirectionalSize,triggersBounds:s.any},{name:"target-text-margin-y",type:l.bidirectionalSize,triggersBounds:s.any},{name:"target-text-offset",type:l.size,triggersBounds:s.any}],f=[{name:"font-family",type:l.fontFamily,triggersBounds:s.any},{name:"font-style",type:l.fontStyle,triggersBounds:s.any},{name:"font-weight",type:l.fontWeight,triggersBounds:s.any},{name:"font-size",type:l.size,triggersBounds:s.any},{name:"text-transform",type:l.textTransform,triggersBounds:s.any},{name:"text-wrap",type:l.textWrap,triggersBounds:s.any},{name:"text-overflow-wrap",type:l.textOverflowWrap,triggersBounds:s.any},{name:"text-max-width",type:l.size,triggersBounds:s.any},{name:"text-outline-width",type:l.size,triggersBounds:s.any},{name:"line-height",type:l.positiveNumber,triggersBounds:s.any}],p=[{name:"text-valign",type:l.valign,triggersBounds:s.any},{name:"text-halign",type:l.halign,triggersBounds:s.any},{name:"color",type:l.color},{name:"text-outline-color",type:l.color},{name:"text-outline-opacity",type:l.zeroOneNumber},{name:"text-background-color",type:l.color},{name:"text-background-opacity",type:l.zeroOneNumber},{name:"text-background-padding",type:l.size,triggersBounds:s.any},{name:"text-border-opacity",type:l.zeroOneNumber},{name:"text-border-color",type:l.color},{name:"text-border-width",type:l.size,triggersBounds:s.any},{name:"text-border-style",type:l.borderStyle,triggersBounds:s.any},{name:"text-background-shape",type:l.textBackgroundShape,triggersBounds:s.any},{name:"text-justification",type:l.justification},{name:"box-select-labels",type:l.bool,triggersBounds:s.any}],v=[{name:"events",type:l.bool,triggersZOrder:s.any},{name:"text-events",type:l.bool,triggersZOrder:s.any},{name:"box-selection",type:l.boxSelection,triggersZOrder:s.any}],y=[{name:"display",type:l.display,triggersZOrder:s.any,triggersBounds:s.any,triggersBoundsOfConnectedEdges:s.any,triggersBoundsOfParallelEdges:function(z,F,Z){return z===F?!1:Z.pstyle("curve-style").value==="bezier"}},{name:"visibility",type:l.visibility,triggersZOrder:s.any},{name:"opacity",type:l.zeroOneNumber,triggersZOrder:s.zeroNonZero},{name:"text-opacity",type:l.zeroOneNumber},{name:"min-zoomed-font-size",type:l.size},{name:"z-compound-depth",type:l.zCompoundDepth,triggersZOrder:s.any},{name:"z-index-compare",type:l.zIndexCompare,triggersZOrder:s.any},{name:"z-index",type:l.number,triggersZOrder:s.any}],g=[{name:"overlay-padding",type:l.size,triggersBounds:s.any},{name:"overlay-color",type:l.color},{name:"overlay-opacity",type:l.zeroOneNumber,triggersBounds:s.zeroNonZero},{name:"overlay-shape",type:l.overlayShape,triggersBounds:s.any},{name:"overlay-corner-radius",type:l.cornerRadius}],m=[{name:"underlay-padding",type:l.size,triggersBounds:s.any},{name:"underlay-color",type:l.color},{name:"underlay-opacity",type:l.zeroOneNumber,triggersBounds:s.zeroNonZero},{name:"underlay-shape",type:l.overlayShape,triggersBounds:s.any},{name:"underlay-corner-radius",type:l.cornerRadius}],b=[{name:"transition-property",type:l.propList},{name:"transition-duration",type:l.time},{name:"transition-delay",type:l.time},{name:"transition-timing-function",type:l.easing}],x=function(z,F){return F.value==="label"?-z.poolIndex():F.pfValue},B=[{name:"height",type:l.nodeSize,triggersBounds:s.any,hashOverride:x},{name:"width",type:l.nodeSize,triggersBounds:s.any,hashOverride:x},{name:"shape",type:l.nodeShape,triggersBounds:s.any},{name:"shape-polygon-points",type:l.polygonPointList,triggersBounds:s.any},{name:"corner-radius",type:l.cornerRadius},{name:"background-color",type:l.color},{name:"background-fill",type:l.fill},{name:"background-opacity",type:l.zeroOneNumber},{name:"background-blacken",type:l.nOneOneNumber},{name:"background-gradient-stop-colors",type:l.colors},{name:"background-gradient-stop-positions",type:l.percentages},{name:"background-gradient-direction",type:l.gradientDirection},{name:"padding",type:l.sizeMaybePercent,triggersBounds:s.any},{name:"padding-relative-to",type:l.paddingRelativeTo,triggersBounds:s.any},{name:"bounds-expansion",type:l.boundsExpansion,triggersBounds:s.any}],k=[{name:"border-color",type:l.color},{name:"border-opacity",type:l.zeroOneNumber},{name:"border-width",type:l.size,triggersBounds:s.any},{name:"border-style",type:l.borderStyle},{name:"border-cap",type:l.lineCap},{name:"border-join",type:l.lineJoin},{name:"border-dash-pattern",type:l.numbers},{name:"border-dash-offset",type:l.number},{name:"border-position",type:l.linePosition}],w=[{name:"outline-color",type:l.color},{name:"outline-opacity",type:l.zeroOneNumber},{name:"outline-width",type:l.size,triggersBounds:s.any},{name:"outline-style",type:l.borderStyle},{name:"outline-offset",type:l.size,triggersBounds:s.any}],S=[{name:"background-image",type:l.urls},{name:"background-image-crossorigin",type:l.bgCrossOrigin},{name:"background-image-opacity",type:l.zeroOneNumbers},{name:"background-image-containment",type:l.bgContainment},{name:"background-image-smoothing",type:l.bools},{name:"background-position-x",type:l.bgPos},{name:"background-position-y",type:l.bgPos},{name:"background-width-relative-to",type:l.bgRelativeTo},{name:"background-height-relative-to",type:l.bgRelativeTo},{name:"background-repeat",type:l.bgRepeat},{name:"background-fit",type:l.bgFit},{name:"background-clip",type:l.bgClip},{name:"background-width",type:l.bgWH},{name:"background-height",type:l.bgWH},{name:"background-offset-x",type:l.bgPos},{name:"background-offset-y",type:l.bgPos}],E=[{name:"position",type:l.position,triggersBounds:s.any},{name:"compound-sizing-wrt-labels",type:l.compoundIncludeLabels,triggersBounds:s.any},{name:"min-width",type:l.size,triggersBounds:s.any},{name:"min-width-bias-left",type:l.sizeMaybePercent,triggersBounds:s.any},{name:"min-width-bias-right",type:l.sizeMaybePercent,triggersBounds:s.any},{name:"min-height",type:l.size,triggersBounds:s.any},{name:"min-height-bias-top",type:l.sizeMaybePercent,triggersBounds:s.any},{name:"min-height-bias-bottom",type:l.sizeMaybePercent,triggersBounds:s.any}],P=[{name:"line-style",type:l.lineStyle},{name:"line-color",type:l.color},{name:"line-fill",type:l.fill},{name:"line-cap",type:l.lineCap},{name:"line-opacity",type:l.zeroOneNumber},{name:"line-dash-pattern",type:l.numbers},{name:"line-dash-offset",type:l.number},{name:"line-outline-width",type:l.size},{name:"line-outline-color",type:l.color},{name:"line-gradient-stop-colors",type:l.colors},{name:"line-gradient-stop-positions",type:l.percentages},{name:"curve-style",type:l.curveStyle,triggersBounds:s.any,triggersBoundsOfParallelEdges:function(z,F){return z===F?!1:z==="bezier"||F==="bezier"}},{name:"haystack-radius",type:l.zeroOneNumber,triggersBounds:s.any},{name:"source-endpoint",type:l.edgeEndpoint,triggersBounds:s.any},{name:"target-endpoint",type:l.edgeEndpoint,triggersBounds:s.any},{name:"control-point-step-size",type:l.size,triggersBounds:s.any},{name:"control-point-distances",type:l.bidirectionalSizes,triggersBounds:s.any},{name:"control-point-weights",type:l.numbers,triggersBounds:s.any},{name:"segment-distances",type:l.bidirectionalSizes,triggersBounds:s.any},{name:"segment-weights",type:l.numbers,triggersBounds:s.any},{name:"segment-radii",type:l.numbers,triggersBounds:s.any},{name:"radius-type",type:l.radiusType,triggersBounds:s.any},{name:"taxi-turn",type:l.bidirectionalSizeMaybePercent,triggersBounds:s.any},{name:"taxi-turn-min-distance",type:l.size,triggersBounds:s.any},{name:"taxi-direction",type:l.axisDirection,triggersBounds:s.any},{name:"taxi-radius",type:l.number,triggersBounds:s.any},{name:"edge-distances",type:l.edgeDistances,triggersBounds:s.any},{name:"arrow-scale",type:l.positiveNumber,triggersBounds:s.any},{name:"loop-direction",type:l.angle,triggersBounds:s.any},{name:"loop-sweep",type:l.angle,triggersBounds:s.any},{name:"source-distance-from-node",type:l.size,triggersBounds:s.any},{name:"target-distance-from-node",type:l.size,triggersBounds:s.any}],C=[{name:"ghost",type:l.bool,triggersBounds:s.any},{name:"ghost-offset-x",type:l.bidirectionalSize,triggersBounds:s.any},{name:"ghost-offset-y",type:l.bidirectionalSize,triggersBounds:s.any},{name:"ghost-opacity",type:l.zeroOneNumber}],A=[{name:"selection-box-color",type:l.color},{name:"selection-box-opacity",type:l.zeroOneNumber},{name:"selection-box-border-color",type:l.color},{name:"selection-box-border-width",type:l.size},{name:"active-bg-color",type:l.color},{name:"active-bg-opacity",type:l.zeroOneNumber},{name:"active-bg-size",type:l.size},{name:"outside-texture-bg-color",type:l.color},{name:"outside-texture-bg-opacity",type:l.zeroOneNumber}],D=[];Ke.pieBackgroundN=16,D.push({name:"pie-size",type:l.sizeMaybePercent}),D.push({name:"pie-hole",type:l.sizeMaybePercent}),D.push({name:"pie-start-angle",type:l.angle});for(var R=1;R<=Ke.pieBackgroundN;R++)D.push({name:"pie-"+R+"-background-color",type:l.color}),D.push({name:"pie-"+R+"-background-size",type:l.percent}),D.push({name:"pie-"+R+"-background-opacity",type:l.zeroOneNumber});var _=[];Ke.stripeBackgroundN=16,_.push({name:"stripe-size",type:l.sizeMaybePercent}),_.push({name:"stripe-direction",type:l.axisDirectionPrimary});for(var I=1;I<=Ke.stripeBackgroundN;I++)_.push({name:"stripe-"+I+"-background-color",type:l.color}),_.push({name:"stripe-"+I+"-background-size",type:l.percent}),_.push({name:"stripe-"+I+"-background-opacity",type:l.zeroOneNumber});var M=[],N=Ke.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:l.arrowShape,triggersBounds:s.any},{name:"arrow-color",type:l.color},{name:"arrow-fill",type:l.arrowFill},{name:"arrow-width",type:l.arrowWidth}].forEach(function(z){N.forEach(function(F){var Z=F+"-"+z.name,oe=z.type,fe=z.triggersBounds;M.push({name:Z,type:oe,triggersBounds:fe})})},{});var V=Ke.properties=[].concat(v,b,y,g,m,C,p,f,c,d,h,B,k,w,S,D,_,E,P,M,A),Y=Ke.propertyGroups={behavior:v,transition:b,visibility:y,overlay:g,underlay:m,ghost:C,commonLabel:p,labelDimensions:f,mainLabel:c,sourceLabel:d,targetLabel:h,nodeBody:B,nodeBorder:k,nodeOutline:w,backgroundImage:S,pie:D,stripe:_,compound:E,edgeLine:P,edgeArrow:M,core:A},q=Ke.propertyGroupNames={};(Ke.propertyGroupKeys=Object.keys(Y)).forEach(function(z){q[z]=Y[z].map(function(F){return F.name}),Y[z].forEach(function(F){return F.groupKey=z})});var W=Ke.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];Ke.propertyNames=V.map(function(z){return z.name});for(var H=0;H<V.length;H++){var j=V[H];V[j.name]=j}for(var $=0;$<W.length;$++){var J=W[$],Q=V[J.pointsTo],O={name:J.name,alias:!0,pointsTo:Q};V.push(O),V[J.name]=O}})(),Ke.getDefaultProperty=function(e){return this.getDefaultProperties()[e]},Ke.getDefaultProperties=function(){var e=this._private;if(e.defaultProperties!=null)return e.defaultProperties;for(var t=he({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","box-selection":"contain","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","box-select-labels":"no","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%","pie-hole":0,"pie-start-angle":"0deg"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(u,s){for(var l=1;l<=Ke.pieBackgroundN;l++){var c=s.name.replace("{{i}}",l);u[c]=s.value}return u},{}),{"stripe-size":"100%","stripe-direction":"horizontal"},[{name:"stripe-{{i}}-background-color",value:"black"},{name:"stripe-{{i}}-background-size",value:"0%"},{name:"stripe-{{i}}-background-opacity",value:1}].reduce(function(u,s){for(var l=1;l<=Ke.stripeBackgroundN;l++){var c=s.name.replace("{{i}}",l);u[c]=s.value}return u},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(u,s){return Ke.arrowPrefixes.forEach(function(l){var c=l+"-"+s.name;u[c]=s.value}),u},{})),r={},n=0;n<this.properties.length;n++){var a=this.properties[n];if(!a.pointsTo){var i=a.name,o=t[i];r[i]=this.parse(i,o)}}return e.defaultProperties=r,e.defaultProperties},Ke.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var Da={};Da.parse=function(e,t,r,n){var a=this;if(We(t))return a.parseImplWarn(e,t,r,n);var i=n==="mapping"||n===!0||n===!1||n==null?"dontcare":n,o=r?"t":"f",u=Ks(e,""+t,o,i),s=a.propCache=a.propCache||[],l;return(l=s[u])||(l=s[u]=a.parseImplWarn(e,t,r,n)),(r||n==="mapping")&&(l=Nt(l),l&&(l.value=Nt(l.value))),l},Da.parseImplWarn=function(e,t,r,n){var a=this.parseImpl(e,t,r,n);return!a&&t!=null&&_e(`The style property \`${e}: ${t}\` is invalid`),a&&(a.name==="width"||a.name==="height")&&t==="label"&&_e("The style value of `label` is deprecated for `"+a.name+"`"),a},Da.parseImpl=function(e,t,r,n){var a=this;e=Za(e);var i=a.properties[e],o=t,u=a.types;if(!i||t===void 0)return null;i.alias&&(i=i.pointsTo,e=i.name);var s=ce(t);s&&(t=t.trim());var l=i.type;if(!l)return null;if(r&&(t===""||t===null))return{name:e,value:t,bypass:!0,deleteBypass:!0};if(We(t))return{name:e,value:t,strValue:"fn",mapped:u.fn,bypass:r};var c,d;if(!(!s||n||t.length<7||t[1]!=="a")){if(t.length>=7&&t[0]==="d"&&(c=new RegExp(u.data.regex).exec(t))){if(r)return!1;var h=u.data;return{name:e,value:c,strValue:""+t,mapped:h,field:c[1],bypass:r}}else if(t.length>=10&&t[0]==="m"&&(d=new RegExp(u.mapData.regex).exec(t))){if(r||l.multiple)return!1;var f=u.mapData;if(!(l.color||l.number))return!1;var p=this.parse(e,d[4]);if(!p||p.mapped)return!1;var v=this.parse(e,d[5]);if(!v||v.mapped)return!1;if(p.pfValue===v.pfValue||p.strValue===v.strValue)return _e("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(l.color){var y=p.value,g=v.value;if(y[0]===g[0]&&y[1]===g[1]&&y[2]===g[2]&&(y[3]===g[3]||(y[3]==null||y[3]===1)&&(g[3]==null||g[3]===1)))return!1}return{name:e,value:d,strValue:""+t,mapped:f,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:p.value,valueMax:v.value,bypass:r}}}if(l.multiple&&n!=="multiple"){var m=s?t.split(/\s+/):ze(t)?t:[t];if(l.evenMultiple&&m.length%2!=0)return null;for(var b=[],x=[],B=[],k="",w=!1,S=0;S<m.length;S++){var E=a.parse(e,m[S],r,"multiple");w||(w=ce(E.value)),b.push(E.value),B.push(E.pfValue==null?E.value:E.pfValue),x.push(E.units),k+=(S>0?" ":"")+E.strValue}return l.validate&&!l.validate(b,x)?null:l.singleEnum&&w?b.length===1&&ce(b[0])?{name:e,value:b[0],strValue:b[0],bypass:r}:null:{name:e,value:b,pfValue:B,strValue:k,bypass:r,units:x}}var P=function(){for(var J=0;J<l.enums.length;J++)if(l.enums[J]===t)return{name:e,value:t,strValue:""+t,bypass:r};return null};if(l.number){var C,A="px";if(l.units&&(C=l.units),l.implicitUnits&&(A=l.implicitUnits),!l.unitless)if(s){var D="px|em"+(l.allowPercent?"|\\%":"");C&&(D=C);var R=t.match("^("+Je+")("+D+")?$");R&&(t=R[1],C=R[2]||A)}else(!C||l.implicitUnits)&&(C=A);if(t=parseFloat(t),isNaN(t)&&l.enums===void 0)return null;if(isNaN(t)&&l.enums!==void 0)return t=o,P();if(l.integer&&!nh(t)||l.min!==void 0&&(t<l.min||l.strictMin&&t===l.min)||l.max!==void 0&&(t>l.max||l.strictMax&&t===l.max))return null;var _={name:e,value:t,strValue:""+t+(C||""),units:C,bypass:r};return l.unitless||C!=="px"&&C!=="em"?_.pfValue=t:_.pfValue=C==="px"||!C?t:this.getEmSizeInPixels()*t,(C==="ms"||C==="s")&&(_.pfValue=C==="ms"?t:1e3*t),(C==="deg"||C==="rad")&&(_.pfValue=C==="rad"?t:hf(t)),C==="%"&&(_.pfValue=t/100),_}else if(l.propList){var I=[],M=""+t;if(M!=="none"){for(var N=M.split(/\s*,\s*|\s+/),V=0;V<N.length;V++){var Y=N[V].trim();a.properties[Y]?I.push(Y):_e("`"+Y+"` is not a valid property name")}if(I.length===0)return null}return{name:e,value:I,strValue:I.length===0?"none":I.join(" "),bypass:r}}else if(l.color){var q=Bs(t);return q?{name:e,value:q,pfValue:q,strValue:"rgb("+q[0]+","+q[1]+","+q[2]+")",bypass:r}:null}else if(l.regex||l.regexes){if(l.enums){var W=P();if(W)return W}for(var H=l.regexes?l.regexes:[l.regex],j=0;j<H.length;j++){var $=new RegExp(H[j]).exec(t);if($)return{name:e,value:l.singleRegexMatchValue?$[1]:$,strValue:""+t,bypass:r}}return null}else return l.string?{name:e,value:""+t,strValue:""+t,bypass:r}:l.enums?P():null};var at=function(e){if(!(this instanceof at))return new at(e);if(!Ha(e)){qe("A style must have a core reference");return}this._private={cy:e,coreStyle:{}},this.length=0,this.resetToDefault()},ft=at.prototype;ft.instanceString=function(){return"style"},ft.clear=function(){for(var e=this._private,t=e.cy.elements(),r=0;r<this.length;r++)this[r]=void 0;return this.length=0,e.contextStyles={},e.propDiffs={},this.cleanElements(t,!0),t.forEach(function(n){var a=n[0]._private;a.styleDirty=!0,a.appliedInitStyle=!1}),this},ft.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},ft.core=function(e){return this._private.coreStyle[e]||this.getDefaultProperty(e)},ft.selector=function(e){var t=e==="core"?null:new or(e),r=this.length++;return this[r]={selector:t,properties:[],mappedProperties:[],index:r},this},ft.css=function(){var e=this,t=arguments;if(t.length===1)for(var r=t[0],n=0;n<e.properties.length;n++){var a=e.properties[n],i=r[a.name];i===void 0&&(i=r[qn(a.name)]),i!==void 0&&this.cssRule(a.name,i)}else t.length===2&&this.cssRule(t[0],t[1]);return this},ft.style=ft.css,ft.cssRule=function(e,t){var r=this.parse(e,t);if(r){var n=this.length-1;this[n].properties.push(r),this[n].properties[r.name]=r,r.name.match(/pie-(\d+)-background-size/)&&r.value&&(this._private.hasPie=!0),r.name.match(/stripe-(\d+)-background-size/)&&r.value&&(this._private.hasStripe=!0),r.mapped&&this[n].mappedProperties.push(r),this[n].selector||(this._private.coreStyle[r.name]=r)}return this},ft.append=function(e){return ks(e)?e.appendToStyle(this):ze(e)?this.appendFromJson(e):ce(e)&&this.appendFromString(e),this},at.fromJson=function(e,t){var r=new at(e);return r.fromJson(t),r},at.fromString=function(e,t){return new at(e).fromString(t)},[nt,Cn,qo,Lt,Sa,jo,Ke,Da].forEach(function(e){he(ft,e)}),at.types=ft.types,at.properties=ft.properties,at.propertyGroups=ft.propertyGroups,at.propertyGroupNames=ft.propertyGroupNames,at.propertyGroupKeys=ft.propertyGroupKeys;var Qg={style:function(e){return e&&this.setStyle(e).update(),this._private.style},setStyle:function(e){var t=this._private;return ks(e)?t.style=e.generateStyle(this):ze(e)?t.style=at.fromJson(this,e):ce(e)?t.style=at.fromString(this,e):t.style=at(this),t.style},updateStyle:function(){this.mutableElements().updateStyle()}},Jg="single",wr={autolock:function(e){if(e!==void 0)this._private.autolock=!!e;else return this._private.autolock;return this},autoungrabify:function(e){if(e!==void 0)this._private.autoungrabify=!!e;else return this._private.autoungrabify;return this},autounselectify:function(e){if(e!==void 0)this._private.autounselectify=!!e;else return this._private.autounselectify;return this},selectionType:function(e){var t=this._private;if(t.selectionType??(t.selectionType=Jg),e!==void 0)(e==="additive"||e==="single")&&(t.selectionType=e);else return t.selectionType;return this},panningEnabled:function(e){if(e!==void 0)this._private.panningEnabled=!!e;else return this._private.panningEnabled;return this},userPanningEnabled:function(e){if(e!==void 0)this._private.userPanningEnabled=!!e;else return this._private.userPanningEnabled;return this},zoomingEnabled:function(e){if(e!==void 0)this._private.zoomingEnabled=!!e;else return this._private.zoomingEnabled;return this},userZoomingEnabled:function(e){if(e!==void 0)this._private.userZoomingEnabled=!!e;else return this._private.userZoomingEnabled;return this},boxSelectionEnabled:function(e){if(e!==void 0)this._private.boxSelectionEnabled=!!e;else return this._private.boxSelectionEnabled;return this},pan:function(){var e=arguments,t=this._private.pan,r,n,a,i,o;switch(e.length){case 0:return t;case 1:if(ce(e[0]))return r=e[0],t[r];if(Be(e[0])){if(!this._private.panningEnabled)return this;a=e[0],i=a.x,o=a.y,ee(i)&&(t.x=i),ee(o)&&(t.y=o),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;r=e[0],n=e[1],(r==="x"||r==="y")&&ee(n)&&(t[r]=n),this.emit("pan viewport");break}return this.notify("viewport"),this},panBy:function(e,t){var r=arguments,n=this._private.pan,a,i,o,u,s;if(!this._private.panningEnabled)return this;switch(r.length){case 1:Be(e)&&(o=r[0],u=o.x,s=o.y,ee(u)&&(n.x+=u),ee(s)&&(n.y+=s),this.emit("pan viewport"));break;case 2:a=e,i=t,(a==="x"||a==="y")&&ee(i)&&(n[a]+=i),this.emit("pan viewport");break}return this.notify("viewport"),this},gc:function(){this.notify("gc")},fit:function(e,t){var r=this.getFitViewport(e,t);if(r){var n=this._private;n.zoom=r.zoom,n.pan=r.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(e,t){if(ee(e)&&t===void 0&&(t=e,e=void 0),!(!this._private.panningEnabled||!this._private.zoomingEnabled)){var r;if(ce(e)){var n=e;e=this.$(n)}else if(oh(e)){var a=e;r={x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2},r.w=r.x2-r.x1,r.h=r.y2-r.y1}else Ct(e)||(e=this.mutableElements());if(!(Ct(e)&&e.empty())){r||(r=e.boundingBox());var i=this.width(),o=this.height(),u;if(t=ee(t)?t:0,!isNaN(i)&&!isNaN(o)&&i>0&&o>0&&!isNaN(r.w)&&!isNaN(r.h)&&r.w>0&&r.h>0){u=Math.min((i-2*t)/r.w,(o-2*t)/r.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u<this._private.minZoom?this._private.minZoom:u;var s={x:(i-u*(r.x1+r.x2))/2,y:(o-u*(r.y1+r.y2))/2};return{zoom:u,pan:s}}}}},zoomRange:function(e,t){var r=this._private;if(t==null){var n=e;e=n.min,t=n.max}return ee(e)&&ee(t)&&e<=t?(r.minZoom=e,r.maxZoom=t):ee(e)&&t===void 0&&e<=r.maxZoom?r.minZoom=e:ee(t)&&e===void 0&&t>=r.minZoom&&(r.maxZoom=t),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t=this._private,r=t.pan,n=t.zoom,a,i,o=!1;if(t.zoomingEnabled||(o=!0),ee(e)?i=e:Be(e)&&(i=e.level,e.position==null?e.renderedPosition!=null&&(a=e.renderedPosition):a=Zn(e.position,n,r),a!=null&&!t.panningEnabled&&(o=!0)),i=i>t.maxZoom?t.maxZoom:i,i=i<t.minZoom?t.minZoom:i,o||!ee(i)||i===n||a!=null&&(!ee(a.x)||!ee(a.y)))return null;if(a!=null){var u=r,s=n,l=i;return{zoomed:!0,panned:!0,zoom:l,pan:{x:-l/s*(a.x-u.x)+a.x,y:-l/s*(a.y-u.y)+a.y}}}else return{zoomed:!0,panned:!1,zoom:i,pan:r}},zoom:function(e){if(e===void 0)return this._private.zoom;var t=this.getZoomedViewport(e),r=this._private;return t==null||!t.zoomed?this:(r.zoom=t.zoom,t.panned&&(r.pan.x=t.pan.x,r.pan.y=t.pan.y),this.emit("zoom"+(t.panned?" pan":"")+" viewport"),this.notify("viewport"),this)},viewport:function(e){var t=this._private,r=!0,n=!0,a=[],i=!1,o=!1;if(!e||(ee(e.zoom)||(r=!1),Be(e.pan)||(n=!1),!r&&!n))return this;if(r){var u=e.zoom;u<t.minZoom||u>t.maxZoom||!t.zoomingEnabled?i=!0:(t.zoom=u,a.push("zoom"))}if(n&&(!i||!e.cancelOnFailedZoom)&&t.panningEnabled){var s=e.pan;ee(s.x)&&(t.pan.x=s.x,o=!1),ee(s.y)&&(t.pan.y=s.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(ce(e)){var r=e;e=this.mutableElements().filter(r)}else Ct(e)||(e=this.mutableElements());if(e.length!==0){var n=e.boundingBox(),a=this.width(),i=this.height();return t=t===void 0?this._private.zoom:t,{x:(a-t*(n.x1+n.x2))/2,y:(i-t*(n.y1+n.y2))/2}}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled||this.viewport({pan:{x:0,y:0},zoom:1}),this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,t=e.container,r=this;return e.sizeCache=e.sizeCache||(t?(function(){var n=r.window().getComputedStyle(t),a=function(i){return parseFloat(n.getPropertyValue(i))};return{width:t.clientWidth-a("padding-left")-a("padding-right"),height:t.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,r=this.renderedExtent(),n={x1:(r.x1-e.x)/t,x2:(r.x2-e.x)/t,y1:(r.y1-e.y)/t,y2:(r.y2-e.y)/t};return n.w=n.x2-n.x1,n.h=n.y2-n.y1,n},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};wr.centre=wr.center,wr.autolockNodes=wr.autolock,wr.autoungrabifyNodes=wr.autoungrabify;var Pn={data:Me.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Me.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Me.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Me.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Pn.attr=Pn.data,Pn.removeAttr=Pn.removeData;var Bn=function(e){var t=this;e=he({},e);var r=e.container;r&&!Yn(r)&&Yn(r[0])&&(r=r[0]);var n=r?r._cyreg:null;n||(n={}),n&&n.cy&&(n.cy.destroy(),n={});var a=n.readies=n.readies||[];r&&(r._cyreg=n),n.cy=t;var i=Qe!==void 0&&r!==void 0&&!e.headless,o=e;o.layout=he({name:i?"grid":"null"},o.layout),o.renderer=he({name:i?"canvas":"null"},o.renderer);var u=function(h,f,p){return f===void 0?p===void 0?h:p:f},s=this._private={container:r,ready:!1,options:o,elements:new lt(this),listeners:[],aniEles:new lt(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,o.zoomingEnabled),userZoomingEnabled:u(!0,o.userZoomingEnabled),panningEnabled:u(!0,o.panningEnabled),userPanningEnabled:u(!0,o.userPanningEnabled),boxSelectionEnabled:u(!0,o.boxSelectionEnabled),autolock:u(!1,o.autolock,o.autolockNodes),autoungrabify:u(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:u(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?i:o.styleEnabled,zoom:ee(o.zoom)?o.zoom:1,pan:{x:Be(o.pan)&&ee(o.pan.x)?o.pan.x:0,y:Be(o.pan)&&ee(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var l=function(h,f){if(h.some(sh))return Fr.all(h).then(f);f(h)};s.styleEnabled&&t.setStyle([]);var c=he({},o,o.renderer);t.initRenderer(c);var d=function(h,f,p){t.notifications(!1);var v=t.mutableElements();v.length>0&&v.remove(),h!=null&&(Be(h)||ze(h))&&t.add(h),t.one("layoutready",function(g){t.notifications(!0),t.emit(g),t.one("load",f),t.emitAndNotify("load")}).one("layoutstop",function(){t.one("done",p),t.emit("done")});var y=he({},t._private.options.layout);y.eles=t.elements(),t.layout(y).run()};l([o.style,o.elements],function(h){var f=h[0],p=h[1];s.styleEnabled&&t.style().append(f),d(p,function(){t.startAnimationLoop(),s.ready=!0,We(o.ready)&&t.on("ready",o.ready);for(var v=0;v<a.length;v++){var y=a[v];t.on("ready",y)}n&&(n.readies=[]),t.emit("ready")},o.done)})},Aa=Bn.prototype;he(Aa,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},destroy:function(){var e=this;if(!e.destroyed())return e.stopAnimationLoop(),e.destroyRenderer(),this.emit("destroy"),e._private.destroyed=!0,e},hasElementWithId:function(e){return this._private.elements.hasElementWithId(e)},getElementById:function(e){return this._private.elements.getElementById(e)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(e){return this._private.elements.merge(e),this},removeFromPool:function(e){return this._private.elements.unmerge(e),this},container:function(){return this._private.container||null},window:function(){if(this._private.container==null)return Qe;var e=this._private.container.ownerDocument;return e===void 0||e==null?Qe:e.defaultView||Qe},mount:function(e){if(e!=null){var t=this,r=t._private,n=r.options;return!Yn(e)&&Yn(e[0])&&(e=e[0]),t.stopAnimationLoop(),t.destroyRenderer(),r.container=e,r.styleEnabled=!0,t.invalidateSize(),t.initRenderer(he({},n,n.renderer,{name:n.renderer.name==="null"?"canvas":n.renderer.name})),t.startAnimationLoop(),t.style(n.style),t.emit("mount"),t}},unmount:function(){var e=this;return e.stopAnimationLoop(),e.destroyRenderer(),e.initRenderer({name:"null"}),e.emit("unmount"),e},options:function(){return Nt(this._private.options)},json:function(e){var t=this,r=t._private,n=t.mutableElements(),a=function(m){return t.getElementById(m.id())};if(Be(e)){if(t.startBatch(),e.elements){var i={},o=function(m,b){for(var x=[],B=[],k=0;k<m.length;k++){var w=m[k];if(!w.data.id){_e("cy.json() cannot handle elements without an ID attribute");continue}var S=""+w.data.id,E=t.getElementById(S);i[S]=!0,E.length===0?(b&&(w.group=b),x.push(w)):B.push({ele:E,json:w})}t.add(x);for(var P=0;P<B.length;P++){var C=B[P],A=C.ele,D=C.json;A.json(D)}};if(ze(e.elements))o(e.elements);else for(var u=["nodes","edges"],s=0;s<u.length;s++){var l=u[s],c=e.elements[l];ze(c)&&o(c,l)}var d=t.collection();n.filter(function(m){return!i[m.id()]}).forEach(function(m){m.isParent()?d.merge(m):m.remove()}),d.forEach(function(m){return m.children().move({parent:null})}),d.forEach(function(m){return a(m).remove()})}e.style&&t.style(e.style),e.zoom!=null&&e.zoom!==r.zoom&&t.zoom(e.zoom),e.pan&&(e.pan.x!==r.pan.x||e.pan.y!==r.pan.y)&&t.pan(e.pan),e.data&&t.data(e.data);for(var h=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],f=0;f<h.length;f++){var p=h[f];e[p]!=null&&t[p](e[p])}return t.endBatch(),this}else{var v=!!e,y={};v?y.elements=this.elements().map(function(m){return m.json()}):(y.elements={},n.forEach(function(m){var b=m.group();y.elements[b]||(y.elements[b]=[]),y.elements[b].push(m.json())})),this._private.styleEnabled&&(y.style=t.style().json()),y.data=Nt(t.data());var g=r.options;return y.zoomingEnabled=r.zoomingEnabled,y.userZoomingEnabled=r.userZoomingEnabled,y.zoom=r.zoom,y.minZoom=r.minZoom,y.maxZoom=r.maxZoom,y.panningEnabled=r.panningEnabled,y.userPanningEnabled=r.userPanningEnabled,y.pan=Nt(r.pan),y.boxSelectionEnabled=r.boxSelectionEnabled,y.renderer=Nt(g.renderer),y.hideEdgesOnViewport=g.hideEdgesOnViewport,y.textureOnViewport=g.textureOnViewport,y.wheelSensitivity=g.wheelSensitivity,y.motionBlur=g.motionBlur,y.multiClickDebounceTime=g.multiClickDebounceTime,y}}}),Aa.$id=Aa.getElementById,[Yg,$g,Ec,Xo,Pa,Kg,Yo,Ba,Qg,wr,Pn].forEach(function(e){he(Aa,e)});var ev={fit:!0,directed:!1,direction:"downward",padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}},tv={maximal:!1,acyclic:!1},$r=function(e){return e.scratch("breadthfirst")},kc=function(e,t){return e.scratch("breadthfirst",t)};function Tc(e){this.options=he({},ev,tv,e)}Tc.prototype.run=function(){var e=this.options,t=e.cy,r=e.eles,n=r.nodes().filter(function(G){return G.isChildless()}),a=r,i=e.directed,o=e.acyclic||e.maximal||e.maximalAdjustments>0,u=!!e.boundingBox,s=gt(u?e.boundingBox:structuredClone(t.extent())),l;if(Ct(e.roots))l=e.roots;else if(ze(e.roots)){for(var c=[],d=0;d<e.roots.length;d++){var h=e.roots[d],f=t.getElementById(h);c.push(f)}l=t.collection(c)}else if(ce(e.roots))l=t.$(e.roots);else if(i)l=n.roots();else{var p=r.components();l=t.collection();for(var v=function(){var G=p[y],le=G.maxDegree(!1),se=G.filter(function(ye){return ye.degree(!1)===le});l=l.add(se)},y=0;y<p.length;y++)v()}var g=[],m={},b=function(G,le){g[le]??(g[le]=[]);var se=g[le].length;g[le].push(G),kc(G,{index:se,depth:le})},x=function(G,le){var se=$r(G),ye=se.depth,pe=se.index;g[ye][pe]=null,G.isChildless()&&b(G,le)};a.bfs({roots:l,directed:e.directed,visit:function(G,le,se,ye,pe){var Te=G[0],xe=Te.id();Te.isChildless()&&b(Te,pe),m[xe]=!0}});for(var B=[],k=0;k<n.length;k++){var w=n[k];m[w.id()]||B.push(w)}var S=function(G){for(var le=g[G],se=0;se<le.length;se++){var ye=le[se];if(ye==null){le.splice(se,1),se--;continue}kc(ye,{depth:G,index:se})}},E=function(G,le){for(var se=$r(G),ye=G.incomers().filter(function(Ae){return Ae.isNode()&&r.has(Ae)}),pe=-1,Te=G.id(),xe=0;xe<ye.length;xe++){var Ce=ye[xe],Pe=$r(Ce);pe=Math.max(pe,Pe.depth)}if(se.depth<=pe){if(!e.acyclic&&le[Te])return null;var Ie=pe+1;return x(G,Ie),le[Te]=Ie,!0}return!1};if(i&&o){var P=[],C={},A=function(G){return P.push(G)},D=function(){return P.shift()};for(n.forEach(function(G){return P.push(G)});P.length>0;){var R=D(),_=E(R,C);if(_)R.outgoers().filter(function(G){return G.isNode()&&r.has(G)}).forEach(A);else if(_===null){_e("Detected double maximal shift for node `"+R.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var I=0;if(e.avoidOverlap)for(var M=0;M<n.length;M++){var N=n[M].layoutDimensions(e),V=N.w,Y=N.h;I=Math.max(I,V,Y)}var q={},W=function(G){if(q[G.id()])return q[G.id()];for(var le=$r(G).depth,se=G.neighborhood(),ye=0,pe=0,Te=0;Te<se.length;Te++){var xe=se[Te];if(!(xe.isEdge()||xe.isParent()||!n.has(xe))){var Ce=$r(xe);if(Ce!=null){var Pe=Ce.index,Ie=Ce.depth;if(!(Pe==null||Ie==null)){var Ae=g[Ie].length;Ie<le&&(ye+=Pe/Ae,pe++)}}}}return pe=Math.max(1,pe),ye/=pe,pe===0&&(ye=0),q[G.id()]=ye,ye},H=function(G,le){var se=W(G)-W(le);return se===0?Ps(G.id(),le.id()):se};e.depthSort!==void 0&&(H=e.depthSort);for(var j=g.length,$=0;$<j;$++)g[$].sort(H),S($);for(var J=[],Q=0;Q<B.length;Q++)J.push(B[Q]);J.length&&(g.unshift(J),j=g.length,(function(){for(var G=0;G<j;G++)S(G)})());for(var O=0,z=0;z<j;z++)O=Math.max(g[z].length,O);var F={x:s.x1+s.w/2,y:s.y1+s.h/2},Z=n.reduce(function(G,le){return(function(se){return{w:G.w===-1?se.w:(G.w+se.w)/2,h:G.h===-1?se.h:(G.h+se.h)/2}})(le.boundingBox({includeLabels:e.nodeDimensionsIncludeLabels}))},{w:-1,h:-1}),oe=Math.max(j===1?0:u?(s.h-e.padding*2-Z.h)/(j-1):(s.h-e.padding*2-Z.h)/(j+1),I),fe=g.reduce(function(G,le){return Math.max(G,le.length)},0),be=function(G){var le=$r(G),se=le.depth,ye=le.index;if(e.circle){var pe=Math.min(s.w/2/j,s.h/2/j);pe=Math.max(pe,I);var Te=pe*se+pe-(j>0&&g[0].length<=3?pe/2:0),xe=2*Math.PI/g[se].length*ye;return se===0&&g[0].length===1&&(Te=1),{x:F.x+Te*Math.cos(xe),y:F.y+Te*Math.sin(xe)}}else{var Ce=g[se].length,Pe=Math.max(Ce===1?0:u?(s.w-e.padding*2-Z.w)/((e.grid?fe:Ce)-1):(s.w-e.padding*2-Z.w)/((e.grid?fe:Ce)+1),I);return{x:F.x+(ye+1-(Ce+1)/2)*Pe,y:F.y+(se+1-(j+1)/2)*oe}}},Le={downward:0,leftward:90,upward:180,rightward:-90};return Object.keys(Le).indexOf(e.direction)===-1&&qe(`Invalid direction '${e.direction}' specified for breadthfirst layout. Valid values are: ${Object.keys(Le).join(", ")}`),r.nodes().layoutPositions(this,e,function(G){return Nh(be(G),s,Le[e.direction])}),this};var rv={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Cc(e){this.options=he({},rv,e)}Cc.prototype.run=function(){var e=this.options,t=e,r=e.cy,n=t.eles,a=t.counterclockwise===void 0?t.clockwise:!t.counterclockwise,i=n.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));for(var o=gt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),u={x:o.x1+o.w/2,y:o.y1+o.h/2},s=(t.sweep===void 0?2*Math.PI-2*Math.PI/i.length:t.sweep)/Math.max(1,i.length-1),l,c=0,d=0;d<i.length;d++){var h=i[d].layoutDimensions(t),f=h.w,p=h.h;c=Math.max(c,f,p)}if(l=ee(t.radius)?t.radius:i.length<=1?0:Math.min(o.h,o.w)/2-c,i.length>1&&t.avoidOverlap){c*=1.75;var v=Math.cos(s)-Math.cos(0),y=Math.sin(s)-Math.sin(0),g=Math.sqrt(c*c/(v*v+y*y));l=Math.max(g,l)}return n.nodes().layoutPositions(this,t,function(m,b){var x=t.startAngle+b*s*(a?1:-1),B=l*Math.cos(x),k=l*Math.sin(x);return{x:u.x+B,y:u.y+k}}),this};var nv={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Pc(e){this.options=he({},nv,e)}Pc.prototype.run=function(){for(var e=this.options,t=e,r=t.counterclockwise===void 0?t.clockwise:!t.counterclockwise,n=e.cy,a=t.eles,i=a.nodes().not(":parent"),o=gt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),u={x:o.x1+o.w/2,y:o.y1+o.h/2},s=[],l=0,c=0;c<i.length;c++){var d=i[c],h=void 0;h=t.concentric(d),s.push({value:h,node:d}),d._private.scratch.concentric=h}i.updateStyle();for(var f=0;f<i.length;f++){var p=i[f].layoutDimensions(t);l=Math.max(l,p.w,p.h)}s.sort(function(z,F){return F.value-z.value});for(var v=t.levelWidth(i),y=[[]],g=y[0],m=0;m<s.length;m++){var b=s[m];g.length>0&&Math.abs(g[0].value-b.value)>=v&&(g=[],y.push(g)),g.push(b)}var x=l+t.minNodeSpacing;if(!t.avoidOverlap){var B=y.length>0&&y[0].length>1,k=(Math.min(o.w,o.h)/2-x)/(y.length+B?1:0);x=Math.min(x,k)}for(var w=0,S=0;S<y.length;S++){var E=y[S],P=E.dTheta=(t.sweep===void 0?2*Math.PI-2*Math.PI/E.length:t.sweep)/Math.max(1,E.length-1);if(E.length>1&&t.avoidOverlap){var C=Math.cos(P)-Math.cos(0),A=Math.sin(P)-Math.sin(0),D=Math.sqrt(x*x/(C*C+A*A));w=Math.max(D,w)}E.r=w,w+=x}if(t.equidistant){for(var R=0,_=0,I=0;I<y.length;I++){var M=y[I].r-_;R=Math.max(R,M)}_=0;for(var N=0;N<y.length;N++){var V=y[N];N===0&&(_=V.r),V.r=_,_+=R}}for(var Y={},q=0;q<y.length;q++)for(var W=y[q],H=W.dTheta,j=W.r,$=0;$<W.length;$++){var J=W[$],Q=t.startAngle+(r?1:-1)*H*$,O={x:u.x+j*Math.cos(Q),y:u.y+j*Math.sin(Q)};Y[J.node.id()]=O}return a.nodes().layoutPositions(this,t,function(z){return Y[z.id()]}),this};var Bc,av={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,t){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function Ra(e){this.options=he({},av,e),this.options.layout=this;var t=this.options.eles.nodes(),r=this.options.eles.edges().filter(function(n){var a=n.source().data("id"),i=n.target().data("id"),o=t.some(function(s){return s.data("id")===a}),u=t.some(function(s){return s.data("id")===i});return!o||!u});this.options.eles=this.options.eles.not(r)}Ra.prototype.run=function(){var e=this.options,t=e.cy,r=this;r.stopped=!1,(e.animate===!0||e.animate===!1)&&r.emit({type:"layoutstart",layout:r}),Bc=e.debug===!0;var n=iv(t,r,e);Bc&&sv(n),e.randomize&&lv(n);var a=Yt(),i=function(){uv(n,t,e),e.fit===!0&&t.fit(e.padding)},o=function(d){return!(r.stopped||d>=e.numIter||(cv(n,e),n.temperature*=e.coolingFactor,n.temperature<e.minTemp))},u=function(){if(e.animate===!0||e.animate===!1)i(),r.one("layoutstop",e.stop),r.emit({type:"layoutstop",layout:r});else{var d=e.eles.nodes(),h=Dc(n,e,d);d.layoutPositions(r,e,h)}},s=0,l=!0;if(e.animate===!0){var c=function(){for(var d=0;l&&d<e.refresh;)l=o(s),s++,d++;l?(Yt()-a>=e.animationThreshold&&i(),Un(c)):(_c(n,e),u())};c()}else{for(;l;)l=o(s),s++;_c(n,e),u()}return this},Ra.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Ra.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var iv=function(e,t,r){for(var n=r.eles.edges(),a=r.eles.nodes(),i=gt(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:n.size(),temperature:r.initialTemp,clientWidth:i.w,clientHeight:i.h,boundingBox:i},u=r.eles.components(),s={},l=0;l<u.length;l++)for(var c=u[l],d=0;d<c.length;d++){var h=c[d];s[h.id()]=l}for(var l=0;l<o.nodeSize;l++){var f=a[l],p=f.layoutDimensions(r),v={};v.isLocked=f.locked(),v.id=f.data("id"),v.parentId=f.data("parent"),v.cmptId=s[f.id()],v.children=[],v.positionX=f.position("x"),v.positionY=f.position("y"),v.offsetX=0,v.offsetY=0,v.height=p.w,v.width=p.h,v.maxX=v.positionX+v.width/2,v.minX=v.positionX-v.width/2,v.maxY=v.positionY+v.height/2,v.minY=v.positionY-v.height/2,v.padLeft=parseFloat(f.style("padding")),v.padRight=parseFloat(f.style("padding")),v.padTop=parseFloat(f.style("padding")),v.padBottom=parseFloat(f.style("padding")),v.nodeRepulsion=We(r.nodeRepulsion)?r.nodeRepulsion(f):r.nodeRepulsion,o.layoutNodes.push(v),o.idToIndex[v.id]=l}for(var y=[],g=0,m=-1,b=[],l=0;l<o.nodeSize;l++){var f=o.layoutNodes[l],x=f.parentId;x==null?(y[++m]=f.id,b.push(f.id)):o.layoutNodes[o.idToIndex[x]].children.push(f.id)}for(o.graphSet.push(b);g<=m;){var B=y[g++],k=o.idToIndex[B],h=o.layoutNodes[k],w=h.children;if(w.length>0){o.graphSet.push(w);for(var l=0;l<w.length;l++)y[++m]=w[l]}}for(var l=0;l<o.graphSet.length;l++)for(var S=o.graphSet[l],d=0;d<S.length;d++){var E=o.idToIndex[S[d]];o.indexToGraph[E]=l}for(var l=0;l<o.edgeSize;l++){var P=n[l],C={};C.id=P.data("id"),C.sourceId=P.data("source"),C.targetId=P.data("target");var A=We(r.idealEdgeLength)?r.idealEdgeLength(P):r.idealEdgeLength,D=We(r.edgeElasticity)?r.edgeElasticity(P):r.edgeElasticity,R=o.idToIndex[C.sourceId],_=o.idToIndex[C.targetId];if(o.indexToGraph[R]!=o.indexToGraph[_]){for(var I=ov(C.sourceId,C.targetId,o),M=o.graphSet[I],N=0,v=o.layoutNodes[R];M.indexOf(v.id)===-1;)v=o.layoutNodes[o.idToIndex[v.parentId]],N++;for(v=o.layoutNodes[_];M.indexOf(v.id)===-1;)v=o.layoutNodes[o.idToIndex[v.parentId]],N++;A*=N*r.nestingFactor}C.idealLength=A,C.elasticity=D,o.layoutEdges.push(C)}return o},ov=function(e,t,r){var n=Sc(e,t,0,r);return 2>n.count?0:n.graph},Sc=function(e,t,r,n){var a=n.graphSet[r];if(-1<a.indexOf(e)&&-1<a.indexOf(t))return{count:2,graph:r};for(var i=0,o=0;o<a.length;o++){var u=a[o],s=n.idToIndex[u],l=n.layoutNodes[s].children;if(l.length!==0){var c=n.indexToGraph[n.idToIndex[l[0]]],d=Sc(e,t,c,n);if(d.count!==0)if(d.count===1){if(i++,i===2)break}else return d}}return{count:i,graph:r}},sv,lv=function(e,t){for(var r=e.clientWidth,n=e.clientHeight,a=0;a<e.nodeSize;a++){var i=e.layoutNodes[a];i.children.length===0&&!i.isLocked&&(i.positionX=Math.random()*r,i.positionY=Math.random()*n)}},Dc=function(e,t,r){var n=e.boundingBox,a={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return t.boundingBox&&(r.forEach(function(i){var o=e.layoutNodes[e.idToIndex[i.data("id")]];a.x1=Math.min(a.x1,o.positionX),a.x2=Math.max(a.x2,o.positionX),a.y1=Math.min(a.y1,o.positionY),a.y2=Math.max(a.y2,o.positionY)}),a.w=a.x2-a.x1,a.h=a.y2-a.y1),function(i,o){var u=e.layoutNodes[e.idToIndex[i.data("id")]];if(t.boundingBox){var s=a.w===0?.5:(u.positionX-a.x1)/a.w,l=a.h===0?.5:(u.positionY-a.y1)/a.h;return{x:n.x1+s*n.w,y:n.y1+l*n.h}}else return{x:u.positionX,y:u.positionY}}},uv=function(e,t,r){var n=r.layout,a=r.eles.nodes(),i=Dc(e,r,a);a.positions(i),e.ready!==!0&&(e.ready=!0,n.one("layoutready",r.ready),n.emit({type:"layoutready",layout:this}))},cv=function(e,t,r){dv(e,t),pv(e),gv(e,t),vv(e),yv(e)},dv=function(e,t){for(var r=0;r<e.graphSet.length;r++)for(var n=e.graphSet[r],a=n.length,i=0;i<a;i++)for(var o=e.layoutNodes[e.idToIndex[n[i]]],u=i+1;u<a;u++){var s=e.layoutNodes[e.idToIndex[n[u]]];hv(o,s,e,t)}},Ac=function(e){return-1+2*e*Math.random()},hv=function(e,t,r,n){if(!(e.cmptId!==t.cmptId&&!r.isCompound)){var a=t.positionX-e.positionX,i=t.positionY-e.positionY,o=1;a===0&&i===0&&(a=Ac(o),i=Ac(o));var u=fv(e,t,a,i);if(u>0)var p=n.nodeOverlap*u,f=Math.sqrt(a*a+i*i),v=p*a/f,y=p*i/f;else var s=_a(e,a,i),l=_a(t,-1*a,-1*i),c=l.x-s.x,d=l.y-s.y,h=c*c+d*d,f=Math.sqrt(h),p=(e.nodeRepulsion+t.nodeRepulsion)/h,v=p*c/f,y=p*d/f;e.isLocked||(e.offsetX-=v,e.offsetY-=y),t.isLocked||(t.offsetX+=v,t.offsetY+=y)}},fv=function(e,t,r,n){if(r>0)var a=e.maxX-t.minX;else var a=t.maxX-e.minX;if(n>0)var i=e.maxY-t.minY;else var i=t.maxY-e.minY;return a>=0&&i>=0?Math.sqrt(a*a+i*i):0},_a=function(e,t,r){var n=e.positionX,a=e.positionY,i=e.height||1,o=e.width||1,u=r/t,s=i/o,l={};return t===0&&0<r||t===0&&0>r?(l.x=n,l.y=a+i/2,l):0<t&&-1*s<=u&&u<=s?(l.x=n+o/2,l.y=a+o*r/2/t,l):0>t&&-1*s<=u&&u<=s?(l.x=n-o/2,l.y=a-o*r/2/t,l):0<r&&(u<=-1*s||u>=s)?(l.x=n+i*t/2/r,l.y=a+i/2,l):(0>r&&(u<=-1*s||u>=s)&&(l.x=n-i*t/2/r,l.y=a-i/2),l)},pv=function(e,t){for(var r=0;r<e.edgeSize;r++){var n=e.layoutEdges[r],a=e.idToIndex[n.sourceId],i=e.layoutNodes[a],o=e.idToIndex[n.targetId],u=e.layoutNodes[o],s=u.positionX-i.positionX,l=u.positionY-i.positionY;if(!(s===0&&l===0)){var c=_a(i,s,l),d=_a(u,-1*s,-1*l),h=d.x-c.x,f=d.y-c.y,p=Math.sqrt(h*h+f*f),v=(n.idealLength-p)**2/n.elasticity;if(p!==0)var y=v*h/p,g=v*f/p;else var y=0,g=0;i.isLocked||(i.offsetX+=y,i.offsetY+=g),u.isLocked||(u.offsetX-=y,u.offsetY-=g)}}},gv=function(e,t){if(t.gravity!==0)for(var r=1,n=0;n<e.graphSet.length;n++){var a=e.graphSet[n],i=a.length;if(n===0)var s=e.clientHeight/2,l=e.clientWidth/2;else var o=e.layoutNodes[e.idToIndex[a[0]]],u=e.layoutNodes[e.idToIndex[o.parentId]],s=u.positionX,l=u.positionY;for(var c=0;c<i;c++){var d=e.layoutNodes[e.idToIndex[a[c]]];if(!d.isLocked){var h=s-d.positionX,f=l-d.positionY,p=Math.sqrt(h*h+f*f);if(p>r){var v=t.gravity*h/p,y=t.gravity*f/p;d.offsetX+=v,d.offsetY+=y}}}}},vv=function(e,t){var r=[],n=0,a=-1;for(r.push.apply(r,e.graphSet[0]),a+=e.graphSet[0].length;n<=a;){var i=r[n++],o=e.idToIndex[i],u=e.layoutNodes[o],s=u.children;if(0<s.length&&!u.isLocked){for(var l=u.offsetX,c=u.offsetY,d=0;d<s.length;d++){var h=e.layoutNodes[e.idToIndex[s[d]]];h.offsetX+=l,h.offsetY+=c,r[++a]=s[d]}u.offsetX=0,u.offsetY=0}}},yv=function(e,t){for(var r=0;r<e.nodeSize;r++){var n=e.layoutNodes[r];0<n.children.length&&(n.maxX=void 0,n.minX=void 0,n.maxY=void 0,n.minY=void 0)}for(var r=0;r<e.nodeSize;r++){var n=e.layoutNodes[r];if(!(0<n.children.length||n.isLocked)){var a=mv(n.offsetX,n.offsetY,e.temperature);n.positionX+=a.x,n.positionY+=a.y,n.offsetX=0,n.offsetY=0,n.minX=n.positionX-n.width,n.maxX=n.positionX+n.width,n.minY=n.positionY-n.height,n.maxY=n.positionY+n.height,Rc(n,e)}}for(var r=0;r<e.nodeSize;r++){var n=e.layoutNodes[r];0<n.children.length&&!n.isLocked&&(n.positionX=(n.maxX+n.minX)/2,n.positionY=(n.maxY+n.minY)/2,n.width=n.maxX-n.minX,n.height=n.maxY-n.minY)}},mv=function(e,t,r){var n=Math.sqrt(e*e+t*t);if(n>r)var a={x:r*e/n,y:r*t/n};else var a={x:e,y:t};return a},Rc=function(e,t){var r=e.parentId;if(r!=null){var n=t.layoutNodes[t.idToIndex[r]],a=!1;if((n.maxX==null||e.maxX+n.padRight>n.maxX)&&(n.maxX=e.maxX+n.padRight,a=!0),(n.minX==null||e.minX-n.padLeft<n.minX)&&(n.minX=e.minX-n.padLeft,a=!0),(n.maxY==null||e.maxY+n.padBottom>n.maxY)&&(n.maxY=e.maxY+n.padBottom,a=!0),(n.minY==null||e.minY-n.padTop<n.minY)&&(n.minY=e.minY-n.padTop,a=!0),a)return Rc(n,t)}},_c=function(e,t){for(var r=e.layoutNodes,n=[],a=0;a<r.length;a++){var i=r[a],o=i.cmptId;(n[o]=n[o]||[]).push(i)}for(var u=0,a=0;a<n.length;a++){var s=n[a];if(s){s.x1=1/0,s.x2=-1/0,s.y1=1/0,s.y2=-1/0;for(var l=0;l<s.length;l++){var c=s[l];s.x1=Math.min(s.x1,c.positionX-c.width/2),s.x2=Math.max(s.x2,c.positionX+c.width/2),s.y1=Math.min(s.y1,c.positionY-c.height/2),s.y2=Math.max(s.y2,c.positionY+c.height/2)}s.w=s.x2-s.x1,s.h=s.y2-s.y1,u+=s.w*s.h}}n.sort(function(y,g){return g.w*g.h-y.w*y.h});for(var d=0,h=0,f=0,p=0,v=Math.sqrt(u)*e.clientWidth/e.clientHeight,a=0;a<n.length;a++){var s=n[a];if(s){for(var l=0;l<s.length;l++){var c=s[l];c.isLocked||(c.positionX+=d-s.x1,c.positionY+=h-s.y1)}d+=s.w+t.componentSpacing,f+=s.w+t.componentSpacing,p=Math.max(p,s.h),f>v&&(h+=p+t.componentSpacing,d=0,f=0,p=0)}}},bv={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Mc(e){this.options=he({},bv,e)}Mc.prototype.run=function(){var e=this.options,t=e,r=e.cy,n=t.eles,a=n.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));var i=gt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(i.h===0||i.w===0)n.nodes().layoutPositions(this,t,function(W){return{x:i.x1,y:i.y1}});else{var o=a.size(),u=Math.sqrt(o*i.h/i.w),s=Math.round(u),l=Math.round(i.w/i.h*u),c=function(W){if(W==null)return Math.min(s,l);Math.min(s,l)==s?s=W:l=W},d=function(W){if(W==null)return Math.max(s,l);Math.max(s,l)==s?s=W:l=W},h=t.rows,f=t.cols==null?t.columns:t.cols;if(h!=null&&f!=null)s=h,l=f;else if(h!=null&&f==null)s=h,l=Math.ceil(o/s);else if(h==null&&f!=null)l=f,s=Math.ceil(o/l);else if(l*s>o){var p=c(),v=d();(p-1)*v>=o?c(p-1):(v-1)*p>=o&&d(v-1)}else for(;l*s<o;){var y=c(),g=d();(g+1)*y>=o?d(g+1):c(y+1)}var m=i.w/l,b=i.h/s;if(t.condense&&(m=0,b=0),t.avoidOverlap)for(var x=0;x<a.length;x++){var B=a[x],k=B._private.position;(k.x==null||k.y==null)&&(k.x=0,k.y=0);var w=B.layoutDimensions(t),S=t.avoidOverlapPadding,E=w.w+S,P=w.h+S;m=Math.max(m,E),b=Math.max(b,P)}for(var C={},A=function(W,H){return!!C["c-"+W+"-"+H]},D=function(W,H){C["c-"+W+"-"+H]=!0},R=0,_=0,I=function(){_++,_>=l&&(_=0,R++)},M={},N=0;N<a.length;N++){var V=a[N],Y=t.position(V);if(Y&&(Y.row!==void 0||Y.col!==void 0)){var q={row:Y.row,col:Y.col};if(q.col===void 0)for(q.col=0;A(q.row,q.col);)q.col++;else if(q.row===void 0)for(q.row=0;A(q.row,q.col);)q.row++;M[V.id()]=q,D(q.row,q.col)}}a.layoutPositions(this,t,function(W,H){var j,$;if(W.locked()||W.isParent())return!1;var J=M[W.id()];if(J)j=J.col*m+m/2+i.x1,$=J.row*b+b/2+i.y1;else{for(;A(R,_);)I();j=_*m+m/2+i.x1,$=R*b+b/2+i.y1,D(R,_),I()}return{x:j,y:$}})}return this};var xv={ready:function(){},stop:function(){}};function Wo(e){this.options=he({},xv,e)}Wo.prototype.run=function(){var e=this.options,t=e.eles,r=this;return e.cy,r.emit("layoutstart"),t.nodes().positions(function(){return{x:0,y:0}}),r.one("layoutready",e.ready),r.emit("layoutready"),r.one("layoutstop",e.stop),r.emit("layoutstop"),this},Wo.prototype.stop=function(){return this};var wv={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ic(e){this.options=he({},wv,e)}Ic.prototype.run=function(){var e=this.options,t=e.eles.nodes(),r=We(e.positions);function n(a){return e.positions==null?sf(a.position()):r?e.positions(a):e.positions[a._private.data.id]??null}return t.layoutPositions(this,e,function(a,i){var o=n(a);return a.locked()||o==null?!1:o}),this};var Ev={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Nc(e){this.options=he({},Ev,e)}Nc.prototype.run=function(){var e=this.options,t=e.cy,r=e.eles,n=gt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});return r.nodes().layoutPositions(this,e,function(a,i){return{x:n.x1+Math.round(Math.random()*n.w),y:n.y1+Math.round(Math.random()*n.h)}}),this};var kv=[{name:"breadthfirst",impl:Tc},{name:"circle",impl:Cc},{name:"concentric",impl:Pc},{name:"cose",impl:Ra},{name:"grid",impl:Mc},{name:"null",impl:Wo},{name:"preset",impl:Ic},{name:"random",impl:Nc}];function Lc(e){this.options=e,this.notifications=0}var zc=function(){},Oc=function(){throw Error("A headless instance can not render images")};Lc.prototype={recalculateRenderedStyle:zc,notify:function(){this.notifications++},init:zc,isHeadless:function(){return!0},png:Oc,jpg:Oc};var Uo={};Uo.arrowShapeWidth=.3,Uo.registerArrowShapes=function(){var e=this.arrowShapes={},t=this,r=function(s,l,c,d,h,f,p){var v=h.x-c/2-p,y=h.x+c/2+p,g=h.y-c/2-p,m=h.y+c/2+p;return v<=s&&s<=y&&g<=l&&l<=m},n=function(s,l,c,d,h){var f=s*Math.cos(d)-l*Math.sin(d),p=s*Math.sin(d)+l*Math.cos(d),v=f*c,y=p*c;return{x:v+h.x,y:y+h.y}},a=function(s,l,c,d){for(var h=[],f=0;f<s.length;f+=2){var p=s[f],v=s[f+1];h.push(n(p,v,l,c,d))}return h},i=function(s){for(var l=[],c=0;c<s.length;c++){var d=s[c];l.push(d.x,d.y)}return l},o=function(s){return s.pstyle("width").pfValue*s.pstyle("arrow-scale").pfValue*2},u=function(s,l){ce(l)&&(l=e[l]),e[s]=he({name:s,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(c,d,h,f,p,v){return Et(c,d,i(a(this.points,h+2*v,f,p)))},roughCollide:r,draw:function(c,d,h,f){var p=a(this.points,d,h,f);t.arrowShapeImpl("polygon")(c,p)},spacing:function(c){return 0},gap:o},l)};u("none",{collide:Gn,roughCollide:Gn,draw:gi,spacing:Qs,gap:Qs}),u("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),u("arrow","triangle"),u("triangle-backcurve",{points:e.triangle.points,controlPoint:[0,-.15],roughCollide:r,draw:function(s,l,c,d,h){var f=a(this.points,l,c,d),p=this.controlPoint,v=n(p[0],p[1],l,c,d);t.arrowShapeImpl(this.name)(s,f,v)},gap:function(s){return o(s)*.8}}),u("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(s,l,c,d,h,f,p){var v=i(a(this.points,c+2*p,d,h)),y=i(a(this.pointsTee,c+2*p,d,h));return Et(s,l,v)||Et(s,l,y)},draw:function(s,l,c,d,h){var f=a(this.points,l,c,d),p=a(this.pointsTee,l,c,d);t.arrowShapeImpl(this.name)(s,f,p)}}),u("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(s,l,c,d,h,f,p){var v=h,y=(v.x-s)**2+(v.y-l)**2<=((c+2*p)*this.radius)**2;return Et(s,l,i(a(this.points,c+2*p,d,h)))||y},draw:function(s,l,c,d,h){var f=a(this.pointsTr,l,c,d);t.arrowShapeImpl(this.name)(s,f,d.x,d.y,this.radius*l)},spacing:function(s){return t.getArrowWidth(s.pstyle("width").pfValue,s.pstyle("arrow-scale").value)*this.radius}}),u("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(s,l){var c=this.baseCrossLinePts.slice(),d=l/s,h=3,f=5;return c[h]=c[h]-d,c[f]=c[f]-d,c},collide:function(s,l,c,d,h,f,p){var v=i(a(this.points,c+2*p,d,h)),y=i(a(this.crossLinePts(c,f),c+2*p,d,h));return Et(s,l,v)||Et(s,l,y)},draw:function(s,l,c,d,h){var f=a(this.points,l,c,d),p=a(this.crossLinePts(l,h),l,c,d);t.arrowShapeImpl(this.name)(s,f,p)}}),u("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(s){return o(s)*.525}}),u("circle",{radius:.15,collide:function(s,l,c,d,h,f,p){var v=h;return(v.x-s)**2+(v.y-l)**2<=((c+2*p)*this.radius)**2},draw:function(s,l,c,d,h){t.arrowShapeImpl(this.name)(s,d.x,d.y,this.radius*l)},spacing:function(s){return t.getArrowWidth(s.pstyle("width").pfValue,s.pstyle("arrow-scale").value)*this.radius}}),u("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(s){return 1},gap:function(s){return 1}}),u("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),u("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(s){return s.pstyle("width").pfValue*s.pstyle("arrow-scale").value}}),u("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(s){return .95*s.pstyle("width").pfValue*s.pstyle("arrow-scale").value}})};var Er={};Er.projectIntoViewport=function(e,t){var r=this.cy,n=this.findContainerClientCoords(),a=n[0],i=n[1],o=n[4],u=r.pan(),s=r.zoom();return[((e-a)/o-u.x)/s,((t-i)/o-u.y)/s]},Er.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var e=this.container,t=e.getBoundingClientRect(),r=this.cy.window().getComputedStyle(e),n=function(p){return parseFloat(r.getPropertyValue(p))},a={left:n("padding-left"),right:n("padding-right"),top:n("padding-top"),bottom:n("padding-bottom")},i={left:n("border-left-width"),right:n("border-right-width"),top:n("border-top-width"),bottom:n("border-bottom-width")},o=e.clientWidth,u=e.clientHeight,s=a.left+a.right,l=a.top+a.bottom,c=i.left+i.right,d=t.width/(o+c),h=o-s,f=u-l;return this.containerBB=[t.left+a.left+i.left,t.top+a.top+i.top,h,f,d]},Er.invalidateContainerClientCoordsCache=function(){this.containerBB=null},Er.findNearestElement=function(e,t,r,n){return this.findNearestElements(e,t,r,n)[0]},Er.findNearestElements=function(e,t,r,n){var a=this,i=this,o=i.getCachedZSortedEles(),u=[],s=i.cy.zoom(),l=i.cy.hasCompoundNodes(),c=(n?24:8)/s,d=(n?8:2)/s,h=(n?8:2)/s,f=1/0,p,v;r&&(o=o.interactive);function y(w,S){if(w.isNode()){if(v)return;v=w,u.push(w)}if(w.isEdge()&&(S==null||S<f))if(p){if(p.pstyle("z-compound-depth").value===w.pstyle("z-compound-depth").value&&p.pstyle("z-compound-depth").value===w.pstyle("z-compound-depth").value){for(var E=0;E<u.length;E++)if(u[E].isEdge()){u[E]=w,p=w,f=S??f;break}}}else u.push(w),p=w,f=S??f}function g(w){var S=w.outerWidth()+2*d,E=w.outerHeight()+2*d,P=S/2,C=E/2,A=w.position(),D=w.pstyle("corner-radius").value==="auto"?"auto":w.pstyle("corner-radius").pfValue,R=w._private.rscratch;if(A.x-P<=e&&e<=A.x+P&&A.y-C<=t&&t<=A.y+C&&i.nodeShapes[a.getNodeShape(w)].checkPoint(e,t,0,S,E,A.x,A.y,D,R))return y(w,0),!0}function m(w){var S=w._private,E=S.rscratch,P=w.pstyle("width").pfValue,C=w.pstyle("arrow-scale").value,A=P/2+c,D=A*A,R=A*2,_=S.source,I=S.target,M;if(E.edgeType==="segments"||E.edgeType==="straight"||E.edgeType==="haystack"){for(var N=E.allpts,V=0;V+3<N.length;V+=2)if(wf(e,t,N[V],N[V+1],N[V+2],N[V+3],R)&&D>(M=Pf(e,t,N[V],N[V+1],N[V+2],N[V+3])))return y(w,M),!0}else if(E.edgeType==="bezier"||E.edgeType==="multibezier"||E.edgeType==="self"||E.edgeType==="compound"){for(var N=E.allpts,V=0;V+5<E.allpts.length;V+=4)if(Ef(e,t,N[V],N[V+1],N[V+2],N[V+3],N[V+4],N[V+5],R)&&D>(M=Cf(e,t,N[V],N[V+1],N[V+2],N[V+3],N[V+4],N[V+5])))return y(w,M),!0}for(var _=_||S.source,I=I||S.target,Y=a.getArrowWidth(P,C),q=[{name:"source",x:E.arrowStartX,y:E.arrowStartY,angle:E.srcArrowAngle},{name:"target",x:E.arrowEndX,y:E.arrowEndY,angle:E.tgtArrowAngle},{name:"mid-source",x:E.midX,y:E.midY,angle:E.midsrcArrowAngle},{name:"mid-target",x:E.midX,y:E.midY,angle:E.midtgtArrowAngle}],V=0;V<q.length;V++){var W=q[V],H=i.arrowShapes[w.pstyle(W.name+"-arrow-shape").value],j=w.pstyle("width").pfValue;if(H.roughCollide(e,t,Y,W.angle,{x:W.x,y:W.y},j,c)&&H.collide(e,t,Y,W.angle,{x:W.x,y:W.y},j,c))return y(w),!0}l&&u.length>0&&(g(_),g(I))}function b(w,S,E){return wt(w,S,E)}function x(w,S){var E=w._private,P=h,C=S?S+"-":"";w.boundingBox();var A=E.labelBounds[S||"main"],D=w.pstyle(C+"label").value;if(!(w.pstyle("text-events").strValue!=="yes"||!D)){var R=b(E.rscratch,"labelX",S),_=b(E.rscratch,"labelY",S),I=b(E.rscratch,"labelAngle",S),M=w.pstyle(C+"text-margin-x").pfValue,N=w.pstyle(C+"text-margin-y").pfValue,V=A.x1-P-M,Y=A.x2+P-M,q=A.y1-P-N,W=A.y2+P-N;if(I){var H=Math.cos(I),j=Math.sin(I),$=function(F,Z){return F-=R,Z-=_,{x:F*H-Z*j+R,y:F*j+Z*H+_}},J=$(V,q),Q=$(V,W),O=$(Y,q),z=$(Y,W);if(Et(e,t,[J.x+M,J.y+N,O.x+M,O.y+N,z.x+M,z.y+N,Q.x+M,Q.y+N]))return y(w),!0}else if(rr(A,e,t))return y(w),!0}}for(var B=o.length-1;B>=0;B--){var k=o[B];k.isNode()?g(k)||x(k):m(k)||x(k)||x(k,"source")||x(k,"target")}return u},Er.getAllInBox=function(e,t,r,n){var a=this.getCachedZSortedEles().interactive,i=2/this.cy.zoom(),o=[],u=Math.min(e,r),s=Math.max(e,r),l=Math.min(t,n),c=Math.max(t,n);e=u,r=s,t=l,n=c;var d=gt({x1:e,y1:t,x2:r,y2:n}),h=[{x:d.x1,y:d.y1},{x:d.x2,y:d.y1},{x:d.x2,y:d.y2},{x:d.x1,y:d.y2}],f=[[h[0],h[1]],[h[1],h[2]],[h[2],h[3]],[h[3],h[0]]];function p(Z,oe,fe){return wt(Z,oe,fe)}function v(Z,oe){var fe=Z._private,be=i,Le="";Z.boundingBox();var G=fe.labelBounds.main;if(!G)return null;var le=p(fe.rscratch,"labelX",oe),se=p(fe.rscratch,"labelY",oe),ye=p(fe.rscratch,"labelAngle",oe),pe=Z.pstyle(Le+"text-margin-x").pfValue,Te=Z.pstyle(Le+"text-margin-y").pfValue,xe=G.x1-be-pe,Ce=G.x2+be-pe,Pe=G.y1-be-Te,Ie=G.y2+be-Te;if(ye){var Ae=Math.cos(ye),ue=Math.sin(ye),me=function(ge,je){return ge-=le,je-=se,{x:ge*Ae-je*ue+le,y:ge*ue+je*Ae+se}};return[me(xe,Pe),me(Ce,Pe),me(Ce,Ie),me(xe,Ie)]}else return[{x:xe,y:Pe},{x:Ce,y:Pe},{x:Ce,y:Ie},{x:xe,y:Ie}]}function y(Z,oe,fe,be){function Le(G,le,se){return(se.y-G.y)*(le.x-G.x)>(le.y-G.y)*(se.x-G.x)}return Le(Z,fe,be)!==Le(oe,fe,be)&&Le(Z,oe,fe)!==Le(Z,oe,be)}for(var g=0;g<a.length;g++){var m=a[g];if(m.isNode()){var b=m,x=b.pstyle("text-events").strValue==="yes",B=b.pstyle("box-selection").strValue,k=b.pstyle("box-select-labels").strValue==="yes";if(B==="none")continue;var w=(B==="overlap"||k)&&x,S=b.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:w});if(B==="contain"){var E=!1;if(k&&x){var P=v(b);P&&Pi(P,h)&&(o.push(b),E=!0)}!E&&ul(d,S)&&o.push(b)}else if(B==="overlap"&&wi(d,S)){var C=b.boundingBox({includeNodes:!0,includeEdges:!0,includeLabels:!1,includeMainLabels:!1,includeSourceLabels:!1,includeTargetLabels:!1});if(Pi([{x:C.x1,y:C.y1},{x:C.x2,y:C.y1},{x:C.x2,y:C.y2},{x:C.x1,y:C.y2}],h))o.push(b);else{var A=v(b);A&&Pi(A,h)&&o.push(b)}}}else{var D=m,R=D._private,_=R.rscratch,I=D.pstyle("box-selection").strValue;if(I==="none")continue;if(I==="contain"){if(_.startX!=null&&_.startY!=null&&!rr(d,_.startX,_.startY)||_.endX!=null&&_.endY!=null&&!rr(d,_.endX,_.endY))continue;if(_.edgeType==="bezier"||_.edgeType==="multibezier"||_.edgeType==="self"||_.edgeType==="compound"||_.edgeType==="segments"||_.edgeType==="haystack"){for(var M=R.rstyle.bezierPts||R.rstyle.linePts||R.rstyle.haystackPts,N=!0,V=0;V<M.length;V++)if(!ll(d,M[V])){N=!1;break}N&&o.push(D)}else _.edgeType==="straight"&&o.push(D)}else if(I==="overlap"){var Y=!1;if(_.startX!=null&&_.startY!=null&&_.endX!=null&&_.endY!=null&&(rr(d,_.startX,_.startY)||rr(d,_.endX,_.endY)))o.push(D),Y=!0;else if(!Y&&_.edgeType==="haystack"){for(var q=R.rstyle.haystackPts,W=0;W<q.length;W++)if(ll(d,q[W])){o.push(D),Y=!0;break}}if(!Y){var H=R.rstyle.bezierPts||R.rstyle.linePts||R.rstyle.haystackPts;if((!H||H.length<2)&&_.edgeType==="straight"&&_.startX!=null&&_.startY!=null&&_.endX!=null&&_.endY!=null&&(H=[{x:_.startX,y:_.startY},{x:_.endX,y:_.endY}]),!H||H.length<2)continue;for(var j=0;j<H.length-1;j++){for(var $=H[j],J=H[j+1],Q=0;Q<f.length;Q++){var O=Ge(f[Q],2),z=O[0],F=O[1];if(y($,J,z,F)){o.push(D),Y=!0;break}}if(Y)break}}}}}return o};var Ma={};Ma.calculateArrowAngles=function(e){var t=e._private.rscratch,r=t.edgeType==="haystack",n=t.edgeType==="bezier",a=t.edgeType==="multibezier",i=t.edgeType==="segments",o=t.edgeType==="compound",u=t.edgeType==="self",s,l,c,d,h,f,g,m;if(r?(c=t.haystackPts[0],d=t.haystackPts[1],h=t.haystackPts[2],f=t.haystackPts[3]):(c=t.arrowStartX,d=t.arrowStartY,h=t.arrowEndX,f=t.arrowEndY),g=t.midX,m=t.midY,i)s=c-t.segpts[0],l=d-t.segpts[1];else if(a||o||u||n){var p=t.allpts,v=rt(p[0],p[2],p[4],.1),y=rt(p[1],p[3],p[5],.1);s=c-v,l=d-y}else s=c-g,l=d-m;t.srcArrowAngle=Qn(s,l);var g=t.midX,m=t.midY;if(r&&(g=(c+h)/2,m=(d+f)/2),s=h-c,l=f-d,i){var p=t.allpts;if(p.length/2%2==0){var b=p.length/2,x=b-2;s=p[b]-p[x],l=p[b+1]-p[x+1]}else if(t.isRound)s=t.midVector[1],l=-t.midVector[0];else{var b=p.length/2-1,x=b-2;s=p[b]-p[x],l=p[b+1]-p[x+1]}}else if(a||o||u){var p=t.allpts,B=t.ctrlpts,k,w,S,E;if(B.length/2%2==0){var P=p.length/2-1,C=P+2,A=C+2;k=rt(p[P],p[C],p[A],0),w=rt(p[P+1],p[C+1],p[A+1],0),S=rt(p[P],p[C],p[A],1e-4),E=rt(p[P+1],p[C+1],p[A+1],1e-4)}else{var C=p.length/2-1,P=C-2,A=C+2;k=rt(p[P],p[C],p[A],.4999),w=rt(p[P+1],p[C+1],p[A+1],.4999),S=rt(p[P],p[C],p[A],.5),E=rt(p[P+1],p[C+1],p[A+1],.5)}s=S-k,l=E-w}if(t.midtgtArrowAngle=Qn(s,l),t.midDispX=s,t.midDispY=l,s*=-1,l*=-1,i){var p=t.allpts;if(p.length/2%2!=0&&!t.isRound){var b=p.length/2-1,D=b+2;s=-(p[D]-p[b]),l=-(p[D+1]-p[b+1])}}if(t.midsrcArrowAngle=Qn(s,l),i)s=h-t.segpts[t.segpts.length-2],l=f-t.segpts[t.segpts.length-1];else if(a||o||u||n){var p=t.allpts,R=p.length,v=rt(p[R-6],p[R-4],p[R-2],.9),y=rt(p[R-5],p[R-3],p[R-1],.9);s=h-v,l=f-y}else s=h-g,l=f-m;t.tgtArrowAngle=Qn(s,l)},Ma.getArrowWidth=Ma.getArrowHeight=function(e,t){var r=this.arrowWidthCache=this.arrowWidthCache||{},n=r[e+", "+t];return n||(n=Math.max((e*13.37)**.9,29)*t,r[e+", "+t]=n,n)};var $o,Go,zt={},St={},Vc,Fc,kr,Ia,Ut,Tr,Cr,Ot,Sn,Na,Xc,Yc,Ko,Ho,qc,jc=function(e,t,r){r.x=t.x-e.x,r.y=t.y-e.y,r.len=Math.sqrt(r.x*r.x+r.y*r.y),r.nx=r.x/r.len,r.ny=r.y/r.len,r.ang=Math.atan2(r.ny,r.nx)},Tv=function(e,t){t.x=e.x*-1,t.y=e.y*-1,t.nx=e.nx*-1,t.ny=e.ny*-1,t.ang=e.ang>0?-(Math.PI-e.ang):Math.PI+e.ang},Cv=function(e,t,r,n,a){if(e===qc?Tv(St,zt):jc(t,e,zt),jc(t,r,St),Vc=zt.nx*St.ny-zt.ny*St.nx,Fc=zt.nx*St.nx-zt.ny*-St.ny,Ut=Math.asin(Math.max(-1,Math.min(1,Vc))),Math.abs(Ut)<1e-6){$o=t.x,Go=t.y,Cr=Sn=0;return}kr=1,Ia=!1,Fc<0?Ut<0?Ut=Math.PI+Ut:(Ut=Math.PI-Ut,kr=-1,Ia=!0):Ut>0&&(kr=-1,Ia=!0),Sn=t.radius===void 0?n:t.radius,Tr=Ut/2,Na=Math.min(zt.len/2,St.len/2),a?(Ot=Math.abs(Math.cos(Tr)*Sn/Math.sin(Tr)),Ot>Na?(Ot=Na,Cr=Math.abs(Ot*Math.sin(Tr)/Math.cos(Tr))):Cr=Sn):(Ot=Math.min(Na,Sn),Cr=Math.abs(Ot*Math.sin(Tr)/Math.cos(Tr))),Ko=t.x+St.nx*Ot,Ho=t.y+St.ny*Ot,$o=Ko-St.ny*Cr*kr,Go=Ho+St.nx*Cr*kr,Xc=t.x+zt.nx*Ot,Yc=t.y+zt.ny*Ot,qc=t};function Wc(e,t){t.radius===0?e.lineTo(t.cx,t.cy):e.arc(t.cx,t.cy,t.radius,t.startAngle,t.endAngle,t.counterClockwise)}function Zo(e,t,r,n){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||t.radius===0?{cx:t.x,cy:t.y,radius:0,startX:t.x,startY:t.y,stopX:t.x,stopY:t.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(Cv(e,t,r,n,a),{cx:$o,cy:Go,radius:Cr,startX:Xc,startY:Yc,stopX:Ko,stopY:Ho,startAngle:zt.ang+Math.PI/2*kr,endAngle:St.ang-Math.PI/2*kr,counterClockwise:Ia})}var Dn=.01,Pv=Math.sqrt(2*Dn),pt={};pt.findMidptPtsEtc=function(e,t){var r=t.posPts,n=t.intersectionPts,a=t.vectorNormInverse,i,o=e.pstyle("source-endpoint"),u=e.pstyle("target-endpoint"),s=o.units!=null&&u.units!=null,l=function(g,m,b,x){var B=x-m,k=b-g,w=Math.sqrt(k*k+B*B);return{x:-B/w,y:k/w}};switch(e.pstyle("edge-distances").value){case"node-position":i=r;break;case"intersection":i=n;break;case"endpoints":if(s){var c=Ge(this.manualEndptToPx(e.source()[0],o),2),d=c[0],h=c[1],f=Ge(this.manualEndptToPx(e.target()[0],u),2),p=f[0],v=f[1],y={x1:d,y1:h,x2:p,y2:v};a=l(d,h,p,v),i=y}else _e(`Edge ${e.id()} has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).`),i=n;break}return{midptPts:i,vectorNormInverse:a}},pt.findHaystackPoints=function(e){for(var t=0;t<e.length;t++){var r=e[t],n=r._private,a=n.rscratch;if(!a.haystack){var i=Math.random()*2*Math.PI;a.source={x:Math.cos(i),y:Math.sin(i)},i=Math.random()*2*Math.PI,a.target={x:Math.cos(i),y:Math.sin(i)}}var o=n.source,u=n.target,s=o.position(),l=u.position(),c=o.width(),d=u.width(),h=o.height(),f=u.height(),p=r.pstyle("haystack-radius").value/2;a.haystackPts=a.allpts=[a.source.x*c*p+s.x,a.source.y*h*p+s.y,a.target.x*d*p+l.x,a.target.y*f*p+l.y],a.midX=(a.allpts[0]+a.allpts[2])/2,a.midY=(a.allpts[1]+a.allpts[3])/2,a.edgeType="haystack",a.haystack=!0,this.storeEdgeProjections(r),this.calculateArrowAngles(r),this.recalculateEdgeLabelProjections(r),this.calculateLabelAngles(r)}},pt.findSegmentsPoints=function(e,t){var r=e._private.rscratch,n=e.pstyle("segment-weights"),a=e.pstyle("segment-distances"),i=e.pstyle("segment-radii"),o=e.pstyle("radius-type"),u=Math.min(n.pfValue.length,a.pfValue.length),s=i.pfValue[i.pfValue.length-1],l=o.pfValue[o.pfValue.length-1];r.edgeType="segments",r.segpts=[],r.radii=[],r.isArcRadius=[];for(var c=0;c<u;c++){var d=n.pfValue[c],h=a.pfValue[c],f=1-d,p=d,v=this.findMidptPtsEtc(e,t),y=v.midptPts,g=v.vectorNormInverse,m={x:y.x1*f+y.x2*p,y:y.y1*f+y.y2*p};r.segpts.push(m.x+g.x*h,m.y+g.y*h),r.radii.push(i.pfValue[c]===void 0?s:i.pfValue[c]),r.isArcRadius.push((o.pfValue[c]===void 0?l:o.pfValue[c])==="arc-radius")}},pt.findLoopPoints=function(e,t,r,n){var a=e._private.rscratch,i=t.dirCounts,o=t.srcPos,u=e.pstyle("control-point-distances"),s=u?u.pfValue[0]:void 0,l=e.pstyle("loop-direction").pfValue,c=e.pstyle("loop-sweep").pfValue,d=e.pstyle("control-point-step-size").pfValue;a.edgeType="self";var h=r,f=d;n&&(h=0,f=s);var p=l-Math.PI/2,v=p-c/2,y=p+c/2,g=l+"_"+c;h=i[g]===void 0?i[g]=0:++i[g],a.ctrlpts=[o.x+Math.cos(v)*1.4*f*(h/3+1),o.y+Math.sin(v)*1.4*f*(h/3+1),o.x+Math.cos(y)*1.4*f*(h/3+1),o.y+Math.sin(y)*1.4*f*(h/3+1)]},pt.findCompoundLoopPoints=function(e,t,r,n){var a=e._private.rscratch;a.edgeType="compound";var i=t.srcPos,o=t.tgtPos,u=t.srcW,s=t.srcH,l=t.tgtW,c=t.tgtH,d=e.pstyle("control-point-step-size").pfValue,h=e.pstyle("control-point-distances"),f=h?h.pfValue[0]:void 0,p=r,v=d;n&&(p=0,v=f);var y=50,g={x:i.x-u/2,y:i.y-s/2},m={x:o.x-l/2,y:o.y-c/2},b={x:Math.min(g.x,m.x),y:Math.min(g.y,m.y)},x=.5,B=Math.max(x,Math.log(u*Dn)),k=Math.max(x,Math.log(l*Dn));a.ctrlpts=[b.x,b.y-(1+y**1.12/100)*v*(p/3+1)*B,b.x-(1+y**1.12/100)*v*(p/3+1)*k,b.y]},pt.findStraightEdgePoints=function(e){e._private.rscratch.edgeType="straight"},pt.findBezierPoints=function(e,t,r,n,a){var i=e._private.rscratch,o=e.pstyle("control-point-step-size").pfValue,u=e.pstyle("control-point-distances"),s=e.pstyle("control-point-weights"),l=u&&s?Math.min(u.value.length,s.value.length):1,c=u?u.pfValue[0]:void 0,d=s.value[0],h=n;i.edgeType=h?"multibezier":"bezier",i.ctrlpts=[];for(var f=0;f<l;f++){var p=(.5-t.eles.length/2+r)*o*(a?-1:1),v=void 0,y=xi(p);h&&(c=u?u.pfValue[f]:o,d=s.value[f]),v=n?c:c===void 0?void 0:y*c;var g=v===void 0?p:v,m=1-d,b=d,x=this.findMidptPtsEtc(e,t),B=x.midptPts,k=x.vectorNormInverse,w={x:B.x1*m+B.x2*b,y:B.y1*m+B.y2*b};i.ctrlpts.push(w.x+k.x*g,w.y+k.y*g)}},pt.findTaxiPoints=function(e,t){var r=e._private.rscratch;r.edgeType="segments";var n="vertical",a="horizontal",i="leftward",o="rightward",u="downward",s="upward",l="auto",c=t.posPts,d=t.srcW,h=t.srcH,f=t.tgtW,p=t.tgtH,v=e.pstyle("edge-distances").value!=="node-position",y=e.pstyle("taxi-direction").value,g=y,m=e.pstyle("taxi-turn"),b=m.units==="%",x=m.pfValue,B=x<0,k=e.pstyle("taxi-turn-min-distance").pfValue,w=v?(d+f)/2:0,S=v?(h+p)/2:0,E=c.x2-c.x1,P=c.y2-c.y1,C=function(G,le){return G>0?Math.max(G-le,0):Math.min(G+le,0)},A=C(E,w),D=C(P,S),R=!1;g===l?y=Math.abs(A)>Math.abs(D)?a:n:g===s||g===u?(y=n,R=!0):(g===i||g===o)&&(y=a,R=!0);var _=y===n,I=_?D:A,M=_?P:E,N=xi(M),V=!1;!(R&&(b||B))&&(g===u&&M<0||g===s&&M>0||g===i&&M>0||g===o&&M<0)&&(N*=-1,I=N*Math.abs(I),V=!0);var Y=b?(x<0?1+x:x)*I:(x<0?I:0)+x*N,q=function(G){return Math.abs(G)<k||Math.abs(G)>=Math.abs(I)},W=q(Y),H=q(Math.abs(I)-Math.abs(Y));if((W||H)&&!V)if(_){var j=Math.abs(M)<=h/2,$=Math.abs(E)<=f/2;if(j){var J=(c.x1+c.x2)/2;r.segpts=[J,c.y1,J,c.y2]}else if($){var Q=(c.y1+c.y2)/2;r.segpts=[c.x1,Q,c.x2,Q]}else r.segpts=[c.x1,c.y2]}else{var O=Math.abs(M)<=d/2,z=Math.abs(P)<=p/2;if(O){var F=(c.y1+c.y2)/2;r.segpts=[c.x1,F,c.x2,F]}else if(z){var Z=(c.x1+c.x2)/2;r.segpts=[Z,c.y1,Z,c.y2]}else r.segpts=[c.x2,c.y1]}else if(_){var oe=c.y1+Y+(v?h/2*N:0);r.segpts=[c.x1,oe,c.x2,oe]}else{var fe=c.x1+Y+(v?d/2*N:0);r.segpts=[fe,c.y1,fe,c.y2]}if(r.isRound){var be=e.pstyle("taxi-radius").value,Le=e.pstyle("radius-type").value[0]==="arc-radius";r.radii=Array(r.segpts.length/2).fill(be),r.isArcRadius=Array(r.segpts.length/2).fill(Le)}},pt.tryToCorrectInvalidPoints=function(e,t){var r=e._private.rscratch;if(r.edgeType==="bezier"){var n=t.srcPos,a=t.tgtPos,i=t.srcW,o=t.srcH,u=t.tgtW,s=t.tgtH,l=t.srcShape,c=t.tgtShape,d=t.srcCornerRadius,h=t.tgtCornerRadius,f=t.srcRs,p=t.tgtRs,v=!ee(r.startX)||!ee(r.startY),y=!ee(r.arrowStartX)||!ee(r.arrowStartY),g=!ee(r.endX)||!ee(r.endY),m=!ee(r.arrowEndX)||!ee(r.arrowEndY),b=3*(this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth),x=yr({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),B=x<b,k=yr({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),w=k<b,S=!1;if(v||y||B){S=!0;var E={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},P=Math.sqrt(E.x*E.x+E.y*E.y),C={x:E.x/P,y:E.y/P},A=Math.max(i,o),D={x:r.ctrlpts[0]+C.x*2*A,y:r.ctrlpts[1]+C.y*2*A},R=l.intersectLine(n.x,n.y,i,o,D.x,D.y,0,d,f);B?(r.ctrlpts[0]=r.ctrlpts[0]+C.x*(b-x),r.ctrlpts[1]=r.ctrlpts[1]+C.y*(b-x)):(r.ctrlpts[0]=R[0]+C.x*b,r.ctrlpts[1]=R[1]+C.y*b)}if(g||m||w){S=!0;var _={x:r.ctrlpts[0]-a.x,y:r.ctrlpts[1]-a.y},I=Math.sqrt(_.x*_.x+_.y*_.y),M={x:_.x/I,y:_.y/I},N=Math.max(i,o),V={x:r.ctrlpts[0]+M.x*2*N,y:r.ctrlpts[1]+M.y*2*N},Y=c.intersectLine(a.x,a.y,u,s,V.x,V.y,0,h,p);w?(r.ctrlpts[0]=r.ctrlpts[0]+M.x*(b-k),r.ctrlpts[1]=r.ctrlpts[1]+M.y*(b-k)):(r.ctrlpts[0]=Y[0]+M.x*b,r.ctrlpts[1]=Y[1]+M.y*b)}S&&this.findEndpoints(e)}},pt.storeAllpts=function(e){var t=e._private.rscratch;if(t.edgeType==="multibezier"||t.edgeType==="bezier"||t.edgeType==="self"||t.edgeType==="compound"){t.allpts=[],t.allpts.push(t.startX,t.startY);for(var r=0;r+1<t.ctrlpts.length;r+=2)t.allpts.push(t.ctrlpts[r],t.ctrlpts[r+1]),r+3<t.ctrlpts.length&&t.allpts.push((t.ctrlpts[r]+t.ctrlpts[r+2])/2,(t.ctrlpts[r+1]+t.ctrlpts[r+3])/2);t.allpts.push(t.endX,t.endY);var n,a;t.ctrlpts.length/2%2==0?(n=t.allpts.length/2-1,t.midX=t.allpts[n],t.midY=t.allpts[n+1]):(n=t.allpts.length/2-3,a=.5,t.midX=rt(t.allpts[n],t.allpts[n+2],t.allpts[n+4],a),t.midY=rt(t.allpts[n+1],t.allpts[n+3],t.allpts[n+5],a))}else if(t.edgeType==="straight")t.allpts=[t.startX,t.startY,t.endX,t.endY],t.midX=(t.startX+t.endX+t.arrowStartX+t.arrowEndX)/4,t.midY=(t.startY+t.endY+t.arrowStartY+t.arrowEndY)/4;else if(t.edgeType==="segments"){if(t.allpts=[],t.allpts.push(t.startX,t.startY),t.allpts.push.apply(t.allpts,t.segpts),t.allpts.push(t.endX,t.endY),t.isRound){t.roundCorners=[];for(var i=2;i+3<t.allpts.length;i+=2){var o=t.radii[i/2-1],u=t.isArcRadius[i/2-1];t.roundCorners.push(Zo({x:t.allpts[i-2],y:t.allpts[i-1]},{x:t.allpts[i],y:t.allpts[i+1],radius:o},{x:t.allpts[i+2],y:t.allpts[i+3]},o,u))}}if(t.segpts.length%4==0){var s=t.segpts.length/2,l=s-2;t.midX=(t.segpts[l]+t.segpts[s])/2,t.midY=(t.segpts[l+1]+t.segpts[s+1])/2}else{var c=t.segpts.length/2-1;if(!t.isRound)t.midX=t.segpts[c],t.midY=t.segpts[c+1];else{var d={x:t.segpts[c],y:t.segpts[c+1]},h=t.roundCorners[c/2];if(h.radius===0){var f={x:t.segpts[c+2],y:t.segpts[c+3]};t.midX=d.x,t.midY=d.y,t.midVector=[d.y-f.y,f.x-d.x]}else{var p=[d.x-h.cx,d.y-h.cy],v=h.radius/Math.sqrt(p[0]**2+p[1]**2);p=p.map(function(y){return y*v}),t.midX=h.cx+p[0],t.midY=h.cy+p[1],t.midVector=p}}}}},pt.checkForInvalidEdgeWarning=function(e){var t=e[0]._private.rscratch;t.nodesOverlap||ee(t.startX)&&ee(t.startY)&&ee(t.endX)&&ee(t.endY)?t.loggedErr=!1:t.loggedErr||(t.loggedErr=!0,_e("Edge `"+e.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},pt.findEdgeControlPoints=function(e){var t=this;if(!(!e||e.length===0)){for(var r=this,n=r.cy.hasCompoundNodes(),a=new jt,i=function(B,k){return[].concat(Xn(B),[k?1:0]).join("-")},o=[],u=[],s=0;s<e.length;s++){var l=e[s],c=l._private,d=l.pstyle("curve-style").value;if(!(l.removed()||!l.takesUpSpace())){if(d==="haystack"){u.push(l);continue}var h=d==="unbundled-bezier"||Jt(d,"segments")||d==="straight"||d==="straight-triangle"||Jt(d,"taxi"),f=d==="unbundled-bezier"||d==="bezier",p=c.source,v=c.target,y=[p.poolIndex(),v.poolIndex()].sort(),g=i(y,h),m=a.get(g);m??(m={eles:[]},o.push({pairId:y,edgeIsUnbundled:h}),a.set(g,m)),m.eles.push(l),h&&(m.hasUnbundled=!0),f&&(m.hasBezier=!0)}}for(var b=function(){var B=o[x],k=B.pairId,w=B.edgeIsUnbundled,S=i(k,w),E=a.get(S),P;if(!E.hasUnbundled){var C=E.eles[0].parallelEdges().filter(function(ue){return ue.isBundledBezier()});vi(E.eles),C.forEach(function(ue){return E.eles.push(ue)}),E.eles.sort(function(ue,me){return ue.poolIndex()-me.poolIndex()})}var A=E.eles[0],D=A.source(),R=A.target();if(D.poolIndex()>R.poolIndex()){var _=D;D=R,R=_}var I=E.srcPos=D.position(),M=E.tgtPos=R.position(),N=E.srcW=D.outerWidth(),V=E.srcH=D.outerHeight(),Y=E.tgtW=R.outerWidth(),q=E.tgtH=R.outerHeight(),W=E.srcShape=r.nodeShapes[t.getNodeShape(D)],H=E.tgtShape=r.nodeShapes[t.getNodeShape(R)],j=E.srcCornerRadius=D.pstyle("corner-radius").value==="auto"?"auto":D.pstyle("corner-radius").pfValue,$=E.tgtCornerRadius=R.pstyle("corner-radius").value==="auto"?"auto":R.pstyle("corner-radius").pfValue,J=E.tgtRs=R._private.rscratch,Q=E.srcRs=D._private.rscratch;E.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var O=0;O<E.eles.length;O++){var z=E.eles[O],F=z[0]._private.rscratch,Z=z.pstyle("curve-style").value,oe=Z==="unbundled-bezier"||Jt(Z,"segments")||Jt(Z,"taxi"),fe=!D.same(z.source());if(!E.calculatedIntersection&&D!==R&&(E.hasBezier||E.hasUnbundled)){E.calculatedIntersection=!0;var be=W.intersectLine(I.x,I.y,N,V,M.x,M.y,0,j,Q),Le=E.srcIntn=be,G=H.intersectLine(M.x,M.y,Y,q,I.x,I.y,0,$,J),le=E.tgtIntn=G,se=E.intersectionPts={x1:be[0],x2:G[0],y1:be[1],y2:G[1]},ye=E.posPts={x1:I.x,x2:M.x,y1:I.y,y2:M.y},pe=G[1]-be[1],Te=G[0]-be[0],xe=Math.sqrt(Te*Te+pe*pe);ee(xe)&&xe>=Pv||(xe=Math.sqrt(Math.max(Te*Te,Dn)+Math.max(pe*pe,Dn)));var Ce=E.vector={x:Te,y:pe},Pe=E.vectorNorm={x:Ce.x/xe,y:Ce.y/xe},Ie={x:-Pe.y,y:Pe.x};E.nodesOverlap=!ee(xe)||H.checkPoint(be[0],be[1],0,Y,q,M.x,M.y,$,J)||W.checkPoint(G[0],G[1],0,N,V,I.x,I.y,j,Q),E.vectorNormInverse=Ie,P={nodesOverlap:E.nodesOverlap,dirCounts:E.dirCounts,calculatedIntersection:!0,hasBezier:E.hasBezier,hasUnbundled:E.hasUnbundled,eles:E.eles,srcPos:M,srcRs:J,tgtPos:I,tgtRs:Q,srcW:Y,srcH:q,tgtW:N,tgtH:V,srcIntn:le,tgtIntn:Le,srcShape:H,tgtShape:W,posPts:{x1:ye.x2,y1:ye.y2,x2:ye.x1,y2:ye.y1},intersectionPts:{x1:se.x2,y1:se.y2,x2:se.x1,y2:se.y1},vector:{x:-Ce.x,y:-Ce.y},vectorNorm:{x:-Pe.x,y:-Pe.y},vectorNormInverse:{x:-Ie.x,y:-Ie.y}}}var Ae=fe?P:E;F.nodesOverlap=Ae.nodesOverlap,F.srcIntn=Ae.srcIntn,F.tgtIntn=Ae.tgtIntn,F.isRound=Z.startsWith("round"),n&&(D.isParent()||D.isChild()||R.isParent()||R.isChild())&&(D.parents().anySame(R)||R.parents().anySame(D)||D.same(R)&&D.isParent())?t.findCompoundLoopPoints(z,Ae,O,oe):D===R?t.findLoopPoints(z,Ae,O,oe):Z.endsWith("segments")?t.findSegmentsPoints(z,Ae):Z.endsWith("taxi")?t.findTaxiPoints(z,Ae):Z==="straight"||!oe&&E.eles.length%2==1&&O===Math.floor(E.eles.length/2)?t.findStraightEdgePoints(z):t.findBezierPoints(z,Ae,O,oe,fe),t.findEndpoints(z),t.tryToCorrectInvalidPoints(z,Ae),t.checkForInvalidEdgeWarning(z),t.storeAllpts(z),t.storeEdgeProjections(z),t.calculateArrowAngles(z),t.recalculateEdgeLabelProjections(z),t.calculateLabelAngles(z)}},x=0;x<o.length;x++)b();this.findHaystackPoints(u)}};function Uc(e){var t=[];if(e!=null){for(var r=0;r<e.length;r+=2){var n=e[r],a=e[r+1];t.push({x:n,y:a})}return t}}pt.getSegmentPoints=function(e){var t=e[0]._private.rscratch;if(this.recalculateRenderedStyle(e),t.edgeType==="segments")return Uc(t.segpts)},pt.getControlPoints=function(e){var t=e[0]._private.rscratch;this.recalculateRenderedStyle(e);var r=t.edgeType;if(r==="bezier"||r==="multibezier"||r==="self"||r==="compound")return Uc(t.ctrlpts)},pt.getEdgeMidpoint=function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),{x:t.midX,y:t.midY}};var An={};An.manualEndptToPx=function(e,t){var r=this,n=e.position(),a=e.outerWidth(),i=e.outerHeight(),o=e._private.rscratch;if(t.value.length===2){var u=[t.pfValue[0],t.pfValue[1]];return t.units[0]==="%"&&(u[0]*=a),t.units[1]==="%"&&(u[1]*=i),u[0]+=n.x,u[1]+=n.y,u}else{var s=t.pfValue[0];s=-Math.PI/2+s;var l=2*Math.max(a,i),c=[n.x+Math.cos(s)*l,n.y+Math.sin(s)*l];return r.nodeShapes[this.getNodeShape(e)].intersectLine(n.x,n.y,a,i,c[0],c[1],0,e.pstyle("corner-radius").value==="auto"?"auto":e.pstyle("corner-radius").pfValue,o)}},An.findEndpoints=function(e){var t,r,n=this,a,i=e.source()[0],o=e.target()[0],u=i.position(),s=o.position(),l=e.pstyle("target-arrow-shape").value,c=e.pstyle("source-arrow-shape").value,d=e.pstyle("target-distance-from-node").pfValue,h=e.pstyle("source-distance-from-node").pfValue,f=i._private.rscratch,p=o._private.rscratch,v=e.pstyle("curve-style").value,y=e._private.rscratch,g=y.edgeType,m=Jt(v,"taxi"),b=g==="self"||g==="compound",x=g==="bezier"||g==="multibezier"||b,B=g!=="bezier",k=g==="straight"||g==="segments",w=g==="segments",S=x||B||k,E=b||m,P=e.pstyle("source-endpoint"),C=E?"outside-to-node":P.value,A=i.pstyle("corner-radius").value==="auto"?"auto":i.pstyle("corner-radius").pfValue,D=e.pstyle("target-endpoint"),R=E?"outside-to-node":D.value,_=o.pstyle("corner-radius").value==="auto"?"auto":o.pstyle("corner-radius").pfValue;y.srcManEndpt=P,y.tgtManEndpt=D;var I,M,N,V,Y=((D==null||(t=D.pfValue)==null?void 0:t.length)===2?D.pfValue:null)??[0,0],q=((P==null||(r=P.pfValue)==null?void 0:r.length)===2?P.pfValue:null)??[0,0];if(x){var W=[y.ctrlpts[0],y.ctrlpts[1]];I=B?[y.ctrlpts[y.ctrlpts.length-2],y.ctrlpts[y.ctrlpts.length-1]]:W,M=W}else if(k){var H=w?y.segpts.slice(0,2):[s.x+Y[0],s.y+Y[1]];I=w?y.segpts.slice(y.segpts.length-2):[u.x+q[0],u.y+q[1]],M=H}if(R==="inside-to-node")a=[s.x,s.y];else if(D.units)a=this.manualEndptToPx(o,D);else if(R==="outside-to-line")a=y.tgtIntn;else if(R==="outside-to-node"||R==="outside-to-node-or-label"?N=I:(R==="outside-to-line"||R==="outside-to-line-or-label")&&(N=[u.x,u.y]),a=n.nodeShapes[this.getNodeShape(o)].intersectLine(s.x,s.y,o.outerWidth(),o.outerHeight(),N[0],N[1],0,_,p),R==="outside-to-node-or-label"||R==="outside-to-line-or-label"){var j=o._private.rscratch,$=j.labelWidth,J=j.labelHeight,Q=j.labelX,O=j.labelY,z=$/2,F=J/2,Z=o.pstyle("text-valign").value;Z==="top"?O-=F:Z==="bottom"&&(O+=F);var oe=o.pstyle("text-halign").value;oe==="left"?Q-=z:oe==="right"&&(Q+=z);var fe=vn(N[0],N[1],[Q-z,O-F,Q+z,O-F,Q+z,O+F,Q-z,O+F],s.x,s.y);if(fe.length>0){var be=u,Le=mr(be,Ir(a)),G=mr(be,Ir(fe)),le=Le;G<Le&&(a=fe,le=G),fe.length>2&&mr(be,{x:fe[2],y:fe[3]})<le&&(a=[fe[2],fe[3]])}}var se=na(a,I,n.arrowShapes[l].spacing(e)+d),ye=na(a,I,n.arrowShapes[l].gap(e)+d);if(y.endX=ye[0],y.endY=ye[1],y.arrowEndX=se[0],y.arrowEndY=se[1],C==="inside-to-node")a=[u.x,u.y];else if(P.units)a=this.manualEndptToPx(i,P);else if(C==="outside-to-line")a=y.srcIntn;else if(C==="outside-to-node"||C==="outside-to-node-or-label"?V=M:(C==="outside-to-line"||C==="outside-to-line-or-label")&&(V=[s.x,s.y]),a=n.nodeShapes[this.getNodeShape(i)].intersectLine(u.x,u.y,i.outerWidth(),i.outerHeight(),V[0],V[1],0,A,f),C==="outside-to-node-or-label"||C==="outside-to-line-or-label"){var pe=i._private.rscratch,Te=pe.labelWidth,xe=pe.labelHeight,Ce=pe.labelX,Pe=pe.labelY,Ie=Te/2,Ae=xe/2,ue=i.pstyle("text-valign").value;ue==="top"?Pe-=Ae:ue==="bottom"&&(Pe+=Ae);var me=i.pstyle("text-halign").value;me==="left"?Ce-=Ie:me==="right"&&(Ce+=Ie);var ge=vn(V[0],V[1],[Ce-Ie,Pe-Ae,Ce+Ie,Pe-Ae,Ce+Ie,Pe+Ae,Ce-Ie,Pe+Ae],u.x,u.y);if(ge.length>0){var je=s,Ye=mr(je,Ir(a)),T=mr(je,Ir(ge)),L=Ye;T<Ye&&(a=[ge[0],ge[1]],L=T),ge.length>2&&mr(je,{x:ge[2],y:ge[3]})<L&&(a=[ge[2],ge[3]])}}var X=na(a,M,n.arrowShapes[c].spacing(e)+h),U=na(a,M,n.arrowShapes[c].gap(e)+h);y.startX=U[0],y.startY=U[1],y.arrowStartX=X[0],y.arrowStartY=X[1],S&&(!ee(y.startX)||!ee(y.startY)||!ee(y.endX)||!ee(y.endY)?y.badLine=!0:y.badLine=!1)},An.getSourceEndpoint=function(e){var t=e[0]._private.rscratch;switch(this.recalculateRenderedStyle(e),t.edgeType){case"haystack":return{x:t.haystackPts[0],y:t.haystackPts[1]};default:return{x:t.arrowStartX,y:t.arrowStartY}}},An.getTargetEndpoint=function(e){var t=e[0]._private.rscratch;switch(this.recalculateRenderedStyle(e),t.edgeType){case"haystack":return{x:t.haystackPts[2],y:t.haystackPts[3]};default:return{x:t.arrowEndX,y:t.arrowEndY}}};var Qo={};function Bv(e,t,r){for(var n=function(u,s,l,c){return rt(u,s,l,c)},a=t._private.rstyle.bezierPts,i=0;i<e.bezierProjPcts.length;i++){var o=e.bezierProjPcts[i];a.push({x:n(r[0],r[2],r[4],o),y:n(r[1],r[3],r[5],o)})}}Qo.storeEdgeProjections=function(e){var t=e._private,r=t.rscratch,n=r.edgeType;if(t.rstyle.bezierPts=null,t.rstyle.linePts=null,t.rstyle.haystackPts=null,n==="multibezier"||n==="bezier"||n==="self"||n==="compound"){t.rstyle.bezierPts=[];for(var a=0;a+5<r.allpts.length;a+=4)Bv(this,e,r.allpts.slice(a,a+6))}else if(n==="segments")for(var i=t.rstyle.linePts=[],a=0;a+1<r.allpts.length;a+=2)i.push({x:r.allpts[a],y:r.allpts[a+1]});else if(n==="haystack"){var o=r.haystackPts;t.rstyle.haystackPts=[{x:o[0],y:o[1]},{x:o[2],y:o[3]}]}t.rstyle.arrowWidth=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth},Qo.recalculateEdgeProjections=function(e){this.findEdgeControlPoints(e)};var Vt={};Vt.recalculateNodeLabelProjection=function(e){var t=e.pstyle("label").strValue;if(!Qt(t)){var r,n,a=e._private,i=e.width(),o=e.height(),u=e.padding(),s=e.position(),l=e.pstyle("text-halign").strValue,c=e.pstyle("text-valign").strValue,d=a.rscratch,h=a.rstyle;switch(l){case"left":r=s.x-i/2-u;break;case"right":r=s.x+i/2+u;break;default:r=s.x}switch(c){case"top":n=s.y-o/2-u;break;case"bottom":n=s.y+o/2+u;break;default:n=s.y}d.labelX=r,d.labelY=n,h.labelX=r,h.labelY=n,this.calculateLabelAngles(e),this.applyLabelDimensions(e)}};var $c=function(e,t){var r=Math.atan(t/e);return e===0&&r<0&&(r*=-1),r},Gc=function(e,t){return $c(t.x-e.x,t.y-e.y)},Sv=function(e,t,r,n){var a=pn(0,n-.001,1),i=pn(0,n+.001,1);return Gc(Nr(e,t,r,a),Nr(e,t,r,i))};Vt.recalculateEdgeLabelProjections=function(e){var t,r=e._private,n=r.rscratch,a=this,i={mid:e.pstyle("label").strValue,source:e.pstyle("source-label").strValue,target:e.pstyle("target-label").strValue};if(i.mid||i.source||i.target){t={x:n.midX,y:n.midY};var o=function(l,c,d){qt(r.rscratch,l,c,d),qt(r.rstyle,l,c,d)};o("labelX",null,t.x),o("labelY",null,t.y),o("labelAutoAngle",null,$c(n.midDispX,n.midDispY));var u=function(){if(u.cache)return u.cache;for(var l=[],c=0;c+5<n.allpts.length;c+=4){var d={x:n.allpts[c],y:n.allpts[c+1]},h={x:n.allpts[c+2],y:n.allpts[c+3]},f={x:n.allpts[c+4],y:n.allpts[c+5]};l.push({p0:d,p1:h,p2:f,startDist:0,length:0,segments:[]})}var p=r.rstyle.bezierPts,v=a.bezierProjPcts.length;function y(B,k,w,S,E){var P=yr(k,w),C=B.segments[B.segments.length-1],A={p0:k,p1:w,t0:S,t1:E,startDist:C?C.startDist+C.length:0,length:P};B.segments.push(A),B.length+=P}for(var g=0;g<l.length;g++){var m=l[g],b=l[g-1];b&&(m.startDist=b.startDist+b.length),y(m,m.p0,p[g*v],0,a.bezierProjPcts[0]);for(var x=0;x<v-1;x++)y(m,p[g*v+x],p[g*v+x+1],a.bezierProjPcts[x],a.bezierProjPcts[x+1]);y(m,p[g*v+v-1],m.p2,a.bezierProjPcts[v-1],1)}return u.cache=l},s=function(l){var c,d=l==="source";if(i[l]){var h=e.pstyle(l+"-text-offset").pfValue;switch(n.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var f=u(),p,v=0,y=0,g=0;g<f.length;g++){for(var m=f[d?g:f.length-1-g],b=0;b<m.segments.length;b++){var x=m.segments[d?b:m.segments.length-1-b],B=g===f.length-1&&b===m.segments.length-1;if(v=y,y+=x.length,y>=h||B){p={cp:m,segment:x};break}}if(p)break}var k=p.cp,w=p.segment,S=(h-v)/w.length,E=w.t1-w.t0,P=d?w.t0+E*S:w.t1-E*S;P=pn(0,P,1),t=Nr(k.p0,k.p1,k.p2,P),c=Sv(k.p0,k.p1,k.p2,P);break;case"straight":case"segments":case"haystack":for(var C=0,A,D,R,_,I=n.allpts.length,M=0;M+3<I&&(d?(R={x:n.allpts[M],y:n.allpts[M+1]},_={x:n.allpts[M+2],y:n.allpts[M+3]}):(R={x:n.allpts[I-2-M],y:n.allpts[I-1-M]},_={x:n.allpts[I-4-M],y:n.allpts[I-3-M]}),A=yr(R,_),D=C,C+=A,!(C>=h));M+=2);var N=(h-D)/A;N=pn(0,N,1),t=pf(R,_,N),c=Gc(R,_);break}o("labelX",l,t.x),o("labelY",l,t.y),o("labelAutoAngle",l,c)}};s("source"),s("target"),this.applyLabelDimensions(e)}},Vt.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},Vt.applyPrefixedLabelDimensions=function(e,t){var r=e._private,n=this.getLabelText(e,t),a=vr(n,e._private.labelDimsKey);if(wt(r.rscratch,"prefixedLabelDimsKey",t)!==a){qt(r.rscratch,"prefixedLabelDimsKey",t,a);var i=this.calculateLabelDimensions(e,n),o=e.pstyle("line-height").pfValue,u=e.pstyle("text-wrap").strValue,s=wt(r.rscratch,"labelWrapCachedLines",t)||[],l=u==="wrap"?Math.max(s.length,1):1,c=i.height/l,d=c*o,h=i.width,f=i.height+(l-1)*(o-1)*c;qt(r.rstyle,"labelWidth",t,h),qt(r.rscratch,"labelWidth",t,h),qt(r.rstyle,"labelHeight",t,f),qt(r.rscratch,"labelHeight",t,f),qt(r.rscratch,"labelLineHeight",t,d)}},Vt.getLabelText=function(e,t){var r=e._private,n=t?t+"-":"",a=e.pstyle(n+"label").strValue,i=e.pstyle("text-transform").value,o=function(I,M){return M?(qt(r.rscratch,I,t,M),M):wt(r.rscratch,I,t)};if(!a)return"";i=="none"||(i=="uppercase"?a=a.toUpperCase():i=="lowercase"&&(a=a.toLowerCase()));var u=e.pstyle("text-wrap").value;if(u==="wrap"){var s=o("labelKey");if(s!=null&&o("labelWrapKey")===s)return o("labelWrapCachedText");for(var l="\u200B",c=a.split(`
|
|
5
|
+
`),d=e.pstyle("text-max-width").pfValue,h=e.pstyle("text-overflow-wrap").value==="anywhere",f=[],p=/[\s\u200b]+|$/g,v=0;v<c.length;v++){var y=c[v],g=this.calculateLabelDimensions(e,y).width;if(h&&(y=y.split("").join(l)),g>d){var m=y.matchAll(p),b="",x=0,B=xt(m),k;try{for(B.s();!(k=B.n()).done;){var w=k.value,S=w[0],E=y.substring(x,w.index);x=w.index+S.length;var P=b.length===0?E:b+E+S;this.calculateLabelDimensions(e,P).width<=d?b+=E+S:(b&&f.push(b),b=E+S)}}catch(I){B.e(I)}finally{B.f()}b.match(/^[\s\u200b]+$/)||f.push(b)}else f.push(y)}o("labelWrapCachedLines",f),a=o("labelWrapCachedText",f.join(`
|
|
6
|
+
`)),o("labelWrapKey",s)}else if(u==="ellipsis"){var C=e.pstyle("text-max-width").pfValue,A="",D="\u2026",R=!1;if(this.calculateLabelDimensions(e,a).width<C)return a;for(var _=0;_<a.length&&!(this.calculateLabelDimensions(e,A+a[_]+D).width>C);_++)A+=a[_],_===a.length-1&&(R=!0);return R||(A+=D),A}return a},Vt.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,r=e.pstyle("text-halign").strValue;if(t==="auto")if(e.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return t},Vt.calculateLabelDimensions=function(e,t){var r=this.cy.window().document,n=0,a=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue,o=e.pstyle("font-family").strValue,u=e.pstyle("font-weight").strValue,s=this.labelCalcCanvas,l=this.labelCalcCanvasContext;if(!s){s=this.labelCalcCanvas=r.createElement("canvas"),l=this.labelCalcCanvasContext=s.getContext("2d");var c=s.style;c.position="absolute",c.left="-9999px",c.top="-9999px",c.zIndex="-1",c.visibility="hidden",c.pointerEvents="none"}l.font=`${a} ${u} ${i}px ${o}`;for(var d=0,h=0,f=t.split(`
|
|
7
|
+
`),p=0;p<f.length;p++){var v=f[p],y=l.measureText(v),g=Math.ceil(y.width),m=i;d=Math.max(g,d),h+=m}return d+=n,h+=n,{width:d,height:h}},Vt.calculateLabelAngle=function(e,t){var r=e._private.rscratch,n=e.isEdge(),a=t?t+"-":"",i=e.pstyle(a+"text-rotation"),o=i.strValue;return o==="none"?0:n&&o==="autorotate"?r.labelAutoAngle:o==="autorotate"?0:i.pfValue},Vt.calculateLabelAngles=function(e){var t=this,r=e.isEdge(),n=e._private.rscratch;n.labelAngle=t.calculateLabelAngle(e),r&&(n.sourceLabelAngle=t.calculateLabelAngle(e,"source"),n.targetLabelAngle=t.calculateLabelAngle(e,"target"))};var Kc={},Hc=28,Dv=!1;Kc.getNodeShape=function(e){var t=this,r=e.pstyle("shape").value;if(r==="cutrectangle"&&(e.width()<Hc||e.height()<Hc))return Dv||(Dv=(_e("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),!0)),"rectangle";if(e.isParent())return r==="rectangle"||r==="roundrectangle"||r==="round-rectangle"||r==="cutrectangle"||r==="cut-rectangle"||r==="barrel"?r:"rectangle";if(r==="polygon"){var n=e.pstyle("shape-polygon-points").value;return t.nodeShapes.makePolygon(n).name}return r};var La={};La.registerCalculationListeners=function(){var e=this.cy,t=e.collection(),r=this,n=function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(t.merge(i),o)for(var u=0;u<i.length;u++){var s=i[u]._private.rstyle;s.clean=!1,s.cleanConnected=!1}};r.binder(e).on("bounds.* dirty.*",function(i){var o=i.target;n(o)}).on("style.* background.*",function(i){var o=i.target;n(o,!1)});var a=function(i){if(i){var o=r.onUpdateEleCalcsFns;t.cleanStyle();for(var u=0;u<t.length;u++){var s=t[u],l=s._private.rstyle;s.isNode()&&!l.cleanConnected&&(n(s.connectedEdges()),l.cleanConnected=!0)}if(o)for(var c=0;c<o.length;c++){var d=o[c];d(i,t)}r.recalculateRenderedStyle(t),t=e.collection()}};r.flushRenderedStyleQueue=function(){a(!0)},r.beforeRender(a,r.beforeRenderPriorities.eleCalcs)},La.onUpdateEleCalcs=function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},La.recalculateRenderedStyle=function(e,t){var r=function(g){return g._private.rstyle.cleanConnected};if(e.length!==0){var n=[],a=[];if(!this.destroyed){t===void 0&&(t=!0);for(var i=0;i<e.length;i++){var o=e[i],u=o._private,s=u.rstyle;o.isEdge()&&(!r(o.source())||!r(o.target()))&&(s.clean=!1),o.isEdge()&&o.isBundledBezier()&&o.parallelEdges().some(function(g){return!g._private.rstyle.clean&&g.isBundledBezier()})&&(s.clean=!1),!(t&&s.clean||o.removed())&&o.pstyle("display").value!=="none"&&(u.group==="nodes"?a.push(o):n.push(o),s.clean=!0)}for(var l=0;l<a.length;l++){var c=a[l],d=c._private.rstyle,h=c.position();this.recalculateNodeLabelProjection(c),d.nodeX=h.x,d.nodeY=h.y,d.nodeW=c.pstyle("width").pfValue,d.nodeH=c.pstyle("height").pfValue}this.recalculateEdgeProjections(n);for(var f=0;f<n.length;f++){var p=n[f]._private,v=p.rstyle,y=p.rscratch;v.srcX=y.arrowStartX,v.srcY=y.arrowStartY,v.tgtX=y.arrowEndX,v.tgtY=y.arrowEndY,v.midX=y.midX,v.midY=y.midY,v.labelAngle=y.labelAngle,v.sourceLabelAngle=y.sourceLabelAngle,v.targetLabelAngle=y.targetLabelAngle}}}};var za={};za.updateCachedGrabbedEles=function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],r=0;r<e.length;r++){var n=e[r],a=n._private.rscratch;n.grabbed()&&!n.isParent()?t.push(n):a.inDragLayer?e.drag.push(n):e.nondrag.push(n)}for(var r=0;r<t.length;r++){var n=t[r];e.drag.push(n)}}},za.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},za.getCachedZSortedEles=function(e){if(e||!this.cachedZSortedEles){var t=this.cy.mutableElements().toArray();t.sort(cc),t.interactive=t.filter(function(r){return r.interactive()}),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()}else t=this.cachedZSortedEles;return t};var Zc={};[Er,Ma,pt,An,Qo,Vt,Kc,La,za].forEach(function(e){he(Zc,e)});var Qc={};Qc.getCachedImage=function(e,t,r){var n=this,a=n.imageCache=n.imageCache||{},i=a[e];if(i)return i.image.complete||i.image.addEventListener("load",r),i.image;i=a[e]=a[e]||{};var o=i.image=new Image;o.addEventListener("load",r),o.addEventListener("error",function(){o.error=!0});var u="data:";return e.substring(0,u.length).toLowerCase()!==u&&(t=t==="null"?null:t,o.crossOrigin=t),o.src=e,o};var Gr={};Gr.registerBinding=function(e,t,r,n){var a=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(e)){for(var i=[],o=0;o<e.length;o++){var u=e[o];if(u!==void 0){var s=this.binder(u);i.push(s.on.apply(s,a))}}return i}var s=this.binder(e);return s.on.apply(s,a)},Gr.binder=function(e){var t=this,r=t.cy.window(),n=e===r||e===r.document||e===r.document.body||ih(e);if(t.supportsPassiveEvents==null){var a=!1;try{var i=Object.defineProperty({},"passive",{get:function(){return a=!0,!0}});r.addEventListener("test",null,i)}catch{}t.supportsPassiveEvents=a}var o=function(u,s,l){var c=Array.prototype.slice.call(arguments);return n&&t.supportsPassiveEvents&&(c[2]={capture:l??!1,passive:!1,once:!1}),t.bindings.push({target:e,args:c}),(e.addEventListener||e.on).apply(e,c),this};return{on:o,addEventListener:o,addListener:o,bind:o}},Gr.nodeIsDraggable=function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},Gr.nodeIsGrabbable=function(e){return this.nodeIsDraggable(e)&&e.interactive()},Gr.load=function(){var e=this,t=e.cy.window(),r=function(T){return T.selected()},n=function(T){var L=T.getRootNode();if(L&&L.nodeType===11&&L.host!==void 0)return L},a=function(T,L,X,U){T??(T=e.cy);for(var K=0;K<L.length;K++){var te=L[K];T.emit({originalEvent:X,type:te,position:U})}},i=function(T){return T.shiftKey||T.metaKey||T.ctrlKey},o=function(T,L){var X=!0;if(e.cy.hasCompoundNodes()&&T&&T.pannable())for(var U=0;L&&U<L.length;U++){var T=L[U];if(T.isNode()&&T.isParent()&&!T.pannable()){X=!1;break}}else X=!0;return X},u=function(T){T[0]._private.grabbed=!0},s=function(T){T[0]._private.grabbed=!1},l=function(T){T[0]._private.rscratch.inDragLayer=!0},c=function(T){T[0]._private.rscratch.inDragLayer=!1},d=function(T){T[0]._private.rscratch.isGrabTarget=!0},h=function(T){T[0]._private.rscratch.isGrabTarget=!1},f=function(T,L){var X=L.addToList;!X.has(T)&&T.grabbable()&&!T.locked()&&(X.merge(T),u(T))},p=function(T,L){if(T.cy().hasCompoundNodes()&&!(L.inDragLayer==null&&L.addToList==null)){var X=T.descendants();L.inDragLayer&&(X.forEach(l),X.connectedEdges().forEach(l)),L.addToList&&f(X,L)}},v=function(T,L){L||(L={});var X=T.cy().hasCompoundNodes();L.inDragLayer&&(T.forEach(l),T.neighborhood().stdFilter(function(U){return!X||U.isEdge()}).forEach(l)),L.addToList&&T.forEach(function(U){f(U,L)}),p(T,L),m(T,{inDragLayer:L.inDragLayer}),e.updateCachedGrabbedEles()},y=v,g=function(T){T&&(e.getCachedZSortedEles().forEach(function(L){s(L),c(L),h(L)}),e.updateCachedGrabbedEles())},m=function(T,L){if(!(L.inDragLayer==null&&L.addToList==null)&&T.cy().hasCompoundNodes()){var X=T.ancestors().orphans();if(!X.same(T)){var U=X.descendants().spawnSelf().merge(X).unmerge(T).unmerge(T.descendants()),K=U.connectedEdges();L.inDragLayer&&(K.forEach(l),U.forEach(l)),L.addToList&&U.forEach(function(te){f(te,L)})}}},b=function(){document.activeElement!=null&&document.activeElement.blur!=null&&document.activeElement.blur()},x=typeof MutationObserver<"u",B=typeof ResizeObserver<"u";x?(e.removeObserver=new MutationObserver(function(T){for(var L=0;L<T.length;L++){var X=T[L].removedNodes;if(X){for(var U=0;U<X.length;U++)if(X[U]===e.container){e.destroy();break}}}}),e.container.parentNode&&e.removeObserver.observe(e.container.parentNode,{childList:!0})):e.registerBinding(e.container,"DOMNodeRemoved",function(T){e.destroy()});var k=un(function(){e.cy.resize()},100);x&&(e.styleObserver=new MutationObserver(k),e.styleObserver.observe(e.container,{attributes:!0})),e.registerBinding(t,"resize",k),B&&(e.resizeObserver=new ResizeObserver(k),e.resizeObserver.observe(e.container));var w=function(T,L){for(;T!=null;)L(T),T=T.parentNode},S=function(){e.invalidateContainerClientCoordsCache()};w(e.container,function(T){e.registerBinding(T,"transitionend",S),e.registerBinding(T,"animationend",S),e.registerBinding(T,"scroll",S)}),e.registerBinding(e.container,"contextmenu",function(T){T.preventDefault()});var E=function(){return e.selection[4]!==0},P=function(T){for(var L=e.findContainerClientCoords(),X=L[0],U=L[1],K=L[2],te=L[3],re=T.touches?T.touches:[T],de=!1,ie=0;ie<re.length;ie++){var Ee=re[ie];if(X<=Ee.clientX&&Ee.clientX<=X+K&&U<=Ee.clientY&&Ee.clientY<=U+te){de=!0;break}}if(!de)return!1;for(var Re=e.container,ae=T.target.parentNode,ve=!1;ae;){if(ae===Re){ve=!0;break}ae=ae.parentNode}return!!ve};e.registerBinding(e.container,"mousedown",function(T){if(P(T)&&!(e.hoverData.which===1&&T.which!==1)){T.preventDefault(),b(),e.hoverData.capture=!0,e.hoverData.which=T.which;var L=e.cy,X=[T.clientX,T.clientY],U=e.projectIntoViewport(X[0],X[1]),K=e.selection,te=e.findNearestElements(U[0],U[1],!0,!1),re=te[0],de=e.dragData.possibleDragElements;e.hoverData.mdownPos=U,e.hoverData.mdownGPos=X;var ie=function(ke){return{originalEvent:T,type:ke,position:{x:U[0],y:U[1]}}},Ee=function(){e.hoverData.tapholdCancelled=!1,clearTimeout(e.hoverData.tapholdTimeout),e.hoverData.tapholdTimeout=setTimeout(function(){if(!e.hoverData.tapholdCancelled){var ke=e.hoverData.down;ke?ke.emit(ie("taphold")):L.emit(ie("taphold"))}},e.tapholdDuration)};if(T.which==3){e.hoverData.cxtStarted=!0;var Re={originalEvent:T,type:"cxttapstart",position:{x:U[0],y:U[1]}};re?(re.activate(),re.emit(Re),e.hoverData.down=re):L.emit(Re),e.hoverData.downTime=new Date().getTime(),e.hoverData.cxtDragged=!1}else if(T.which==1){if(re&&re.activate(),re!=null&&e.nodeIsGrabbable(re)){var ae=function(ke){ke.emit(ie("grab"))};if(d(re),!re.selected())de=e.dragData.possibleDragElements=L.collection(),y(re,{addToList:de}),re.emit(ie("grabon")).emit(ie("grab"));else{de=e.dragData.possibleDragElements=L.collection();var ve=L.$(function(ke){return ke.isNode()&&ke.selected()&&e.nodeIsGrabbable(ke)});v(ve,{addToList:de}),re.emit(ie("grabon")),ve.forEach(ae)}e.redrawHint("eles",!0),e.redrawHint("drag",!0)}e.hoverData.down=re,e.hoverData.downs=te,e.hoverData.downTime=new Date().getTime(),a(re,["mousedown","tapstart","vmousedown"],T,{x:U[0],y:U[1]}),re==null?(K[4]=1,e.data.bgActivePosistion={x:U[0],y:U[1]},e.redrawHint("select",!0),e.redraw()):re.pannable()&&(K[4]=1),Ee()}K[0]=K[2]=U[0],K[1]=K[3]=U[1]}},!1);var C=n(e.container);e.registerBinding([t,C],"mousemove",function(T){if(!(!e.hoverData.capture&&!P(T))){var L=!1,X=e.cy,U=X.zoom(),K=[T.clientX,T.clientY],te=e.projectIntoViewport(K[0],K[1]),re=e.hoverData.mdownPos,de=e.hoverData.mdownGPos,ie=e.selection,Ee=null;!e.hoverData.draggingEles&&!e.hoverData.dragging&&!e.hoverData.selecting&&(Ee=e.findNearestElement(te[0],te[1],!0,!1));var Re=e.hoverData.last,ae=e.hoverData.down,ve=[te[0]-ie[2],te[1]-ie[3]],ke=e.dragData.possibleDragElements,Oe;if(de){var ct=K[0]-de[0],He=ct*ct,it=K[1]-de[1],$e=He+it*it;e.hoverData.isOverThresholdDrag=Oe=$e>=e.desktopTapThreshold2}var tt=i(T);Oe&&(e.hoverData.tapholdCancelled=!0);var kt=function(){var It=e.hoverData.dragDelta=e.hoverData.dragDelta||[];It.length===0?(It.push(ve[0]),It.push(ve[1])):(It[0]+=ve[0],It[1]+=ve[1])};L=!0,a(Ee,["mousemove","vmousemove","tapdrag"],T,{x:te[0],y:te[1]});var Tt=function(It){return{originalEvent:T,type:It,position:{x:te[0],y:te[1]}}},en=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||X.emit(Tt("boxstart")),ie[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(e.hoverData.which===3){if(Oe){var On=Tt("cxtdrag");ae?ae.emit(On):X.emit(On),e.hoverData.cxtDragged=!0,(!e.hoverData.cxtOver||Ee!==e.hoverData.cxtOver)&&(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit(Tt("cxtdragout")),e.hoverData.cxtOver=Ee,Ee&&Ee.emit(Tt("cxtdragover")))}}else if(e.hoverData.dragging){if(L=!0,X.panningEnabled()&&X.userPanningEnabled()){var Ar;if(e.hoverData.justStartedPan){var Kt=e.hoverData.mdownPos;Ar={x:(te[0]-Kt[0])*U,y:(te[1]-Kt[1])*U},e.hoverData.justStartedPan=!1}else Ar={x:ve[0]*U,y:ve[1]*U};X.panBy(Ar),X.emit(Tt("dragpan")),e.hoverData.dragged=!0}te=e.projectIntoViewport(T.clientX,T.clientY)}else if(ie[4]==1&&(ae==null||ae.pannable()))Oe&&(!e.hoverData.dragging&&X.boxSelectionEnabled()&&(tt||!X.panningEnabled()||!X.userPanningEnabled())?en():!e.hoverData.selecting&&X.panningEnabled()&&X.userPanningEnabled()&&o(ae,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,ie[4]=0,e.data.bgActivePosistion=Ir(re),e.redrawHint("select",!0),e.redraw()),ae&&ae.pannable()&&ae.active()&&ae.unactivate());else{if(ae&&ae.pannable()&&ae.active()&&ae.unactivate(),(!ae||!ae.grabbed())&&Ee!=Re&&(Re&&a(Re,["mouseout","tapdragout"],T,{x:te[0],y:te[1]}),Ee&&a(Ee,["mouseover","tapdragover"],T,{x:te[0],y:te[1]}),e.hoverData.last=Ee),ae)if(Oe){if(X.boxSelectionEnabled()&&tt)ae&&ae.grabbed()&&(g(ke),ae.emit(Tt("freeon")),ke.emit(Tt("free")),e.dragData.didDrag&&(ae.emit(Tt("dragfreeon")),ke.emit(Tt("dragfree")))),en();else if(ae&&ae.grabbed()&&e.nodeIsDraggable(ae)){var mt=!e.dragData.didDrag;mt&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||v(ke,{inDragLayer:!0});var dt={x:0,y:0};if(ee(ve[0])&&ee(ve[1])&&(dt.x+=ve[0],dt.y+=ve[1],mt)){var bt=e.hoverData.dragDelta;bt&&ee(bt[0])&&ee(bt[1])&&(dt.x+=bt[0],dt.y+=bt[1])}e.hoverData.draggingEles=!0,ke.silentShift(dt).emit(Tt("position")).emit(Tt("drag")),e.redrawHint("drag",!0),e.redraw()}}else kt();L=!0}if(ie[2]=te[0],ie[3]=te[1],L)return T.stopPropagation&&T.stopPropagation(),T.preventDefault&&T.preventDefault(),!1}},!1);var A,D,R;e.registerBinding(t,"mouseup",function(T){if(!(e.hoverData.which===1&&T.which!==1&&e.hoverData.capture)&&e.hoverData.capture){e.hoverData.capture=!1;var L=e.cy,X=e.projectIntoViewport(T.clientX,T.clientY),U=e.selection,K=e.findNearestElement(X[0],X[1],!0,!1),te=e.dragData.possibleDragElements,re=e.hoverData.down,de=i(T);e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,re&&re.unactivate();var ie=function(ke){return{originalEvent:T,type:ke,position:{x:X[0],y:X[1]}}};if(e.hoverData.which===3){var Ee=ie("cxttapend");if(re?re.emit(Ee):L.emit(Ee),!e.hoverData.cxtDragged){var Re=ie("cxttap");re?re.emit(Re):L.emit(Re)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(e.hoverData.which===1){if(a(K,["mouseup","tapend","vmouseup"],T,{x:X[0],y:X[1]}),!e.dragData.didDrag&&!e.hoverData.dragged&&!e.hoverData.selecting&&!e.hoverData.isOverThresholdDrag&&(a(re,["click","tap","vclick"],T,{x:X[0],y:X[1]}),D=!1,T.timeStamp-R<=L.multiClickDebounceTime()?(A&&clearTimeout(A),D=!0,R=null,a(re,["dblclick","dbltap","vdblclick"],T,{x:X[0],y:X[1]})):(A=setTimeout(function(){D||a(re,["oneclick","onetap","voneclick"],T,{x:X[0],y:X[1]})},L.multiClickDebounceTime()),R=T.timeStamp)),re==null&&!e.dragData.didDrag&&!e.hoverData.selecting&&!e.hoverData.dragged&&!i(T)&&(L.$(r).unselect(["tapunselect"]),te.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=te=L.collection()),K==re&&!e.dragData.didDrag&&!e.hoverData.selecting&&K!=null&&K._private.selectable&&(e.hoverData.dragging||(L.selectionType()==="additive"||de?K.selected()?K.unselect(["tapunselect"]):K.select(["tapselect"]):de||(L.$(r).unmerge(K).unselect(["tapunselect"]),K.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var ae=L.collection(e.getAllInBox(U[0],U[1],U[2],U[3]));e.redrawHint("select",!0),ae.length>0&&e.redrawHint("eles",!0),L.emit(ie("boxend")),L.selectionType()==="additive"||de||L.$(r).unmerge(ae).unselect(),ae.emit(ie("box")).stdFilter(function(ke){return ke.selectable()&&!ke.selected()}).select().emit(ie("boxselect")),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!U[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var ve=re&&re.grabbed();g(te),ve&&(re.emit(ie("freeon")),te.emit(ie("free")),e.dragData.didDrag&&(re.emit(ie("dragfreeon")),te.emit(ie("dragfree"))))}}U[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null,e.hoverData.which=null}},!1);var _=[],I=4,M,N=1e5,V=function(T,L){for(var X=0;X<T.length;X++)if(T[X]%L!==0)return!1;return!0},Y=function(T){for(var L=Math.abs(T[0]),X=1;X<T.length;X++)if(Math.abs(T[X])!==L)return!1;return!0},q=function(T){var L=!1,X=T.deltaY;if(X??(T.wheelDeltaY==null?T.wheelDelta!=null&&(X=T.wheelDelta/4):X=T.wheelDeltaY/4),X!==0){if(M==null)if(_.length>=I){var U=_;if(M=V(U,5),!M){var K=Math.abs(U[0]);M=Y(U)&&K>5}if(M)for(var te=0;te<U.length;te++)N=Math.min(Math.abs(U[te]),N)}else _.push(X),L=!0;else M&&(N=Math.min(Math.abs(X),N));if(!e.scrollingPage){var re=e.cy,de=re.zoom(),ie=re.pan(),Ee=e.projectIntoViewport(T.clientX,T.clientY),Re=[Ee[0]*de+ie.x,Ee[1]*de+ie.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||E()){T.preventDefault();return}if(re.panningEnabled()&&re.userPanningEnabled()&&re.zoomingEnabled()&&re.userZoomingEnabled()){T.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout(function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()},150);var ae;L&&Math.abs(X)>5&&(X=xi(X)*5),ae=X/-250,M&&(ae/=N,ae*=3),ae*=e.wheelSensitivity,T.deltaMode===1&&(ae*=33);var ve=re.zoom()*10**ae;T.type==="gesturechange"&&(ve=e.gestureStartZoom*T.scale),re.zoom({level:ve,renderedPosition:{x:Re[0],y:Re[1]}}),re.emit({type:T.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:T,position:{x:Ee[0],y:Ee[1]}})}}}};e.registerBinding(e.container,"wheel",q,!0),e.registerBinding(t,"scroll",function(T){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout(function(){e.scrollingPage=!1},250)},!0),e.registerBinding(e.container,"gesturestart",function(T){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||T.preventDefault()},!0),e.registerBinding(e.container,"gesturechange",function(T){e.hasTouchStarted||q(T)},!0),e.registerBinding(e.container,"mouseout",function(T){var L=e.projectIntoViewport(T.clientX,T.clientY);e.cy.emit({originalEvent:T,type:"mouseout",position:{x:L[0],y:L[1]}})},!1),e.registerBinding(e.container,"mouseover",function(T){var L=e.projectIntoViewport(T.clientX,T.clientY);e.cy.emit({originalEvent:T,type:"mouseover",position:{x:L[0],y:L[1]}})},!1);var W,H,j,$,J,Q,O,z,F,Z,oe,fe,be,Le=function(T,L,X,U){return Math.sqrt((X-T)*(X-T)+(U-L)*(U-L))},G=function(T,L,X,U){return(X-T)*(X-T)+(U-L)*(U-L)},le;e.registerBinding(e.container,"touchstart",le=function(T){if(e.hasTouchStarted=!0,P(T)){b(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var L=e.cy,X=e.touchData.now,U=e.touchData.earlier;if(T.touches[0]){var K=e.projectIntoViewport(T.touches[0].clientX,T.touches[0].clientY);X[0]=K[0],X[1]=K[1]}if(T.touches[1]){var K=e.projectIntoViewport(T.touches[1].clientX,T.touches[1].clientY);X[2]=K[0],X[3]=K[1]}if(T.touches[2]){var K=e.projectIntoViewport(T.touches[2].clientX,T.touches[2].clientY);X[4]=K[0],X[5]=K[1]}var te=function(kt){return{originalEvent:T,type:kt,position:{x:X[0],y:X[1]}}};if(T.touches[1]){e.touchData.singleTouchMoved=!0,g(e.dragData.touchDragEles);var re=e.findContainerClientCoords();F=re[0],Z=re[1],oe=re[2],fe=re[3],W=T.touches[0].clientX-F,H=T.touches[0].clientY-Z,j=T.touches[1].clientX-F,$=T.touches[1].clientY-Z,be=0<=W&&W<=oe&&0<=j&&j<=oe&&0<=H&&H<=fe&&0<=$&&$<=fe;var de=L.pan(),ie=L.zoom();J=Le(W,H,j,$),Q=G(W,H,j,$),O=[(W+j)/2,(H+$)/2],z=[(O[0]-de.x)/ie,(O[1]-de.y)/ie];var Ee=200,Re=Ee*Ee;if(Q<Re&&!T.touches[2]){var ae=e.findNearestElement(X[0],X[1],!0,!0),ve=e.findNearestElement(X[2],X[3],!0,!0);ae&&ae.isNode()?(ae.activate().emit(te("cxttapstart")),e.touchData.start=ae):ve&&ve.isNode()?(ve.activate().emit(te("cxttapstart")),e.touchData.start=ve):L.emit(te("cxttapstart")),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,e.redraw();return}}if(T.touches[2])L.boxSelectionEnabled()&&T.preventDefault();else if(!T.touches[1]&&T.touches[0]){var ke=e.findNearestElements(X[0],X[1],!0,!0),Oe=ke[0];if(Oe!=null&&(Oe.activate(),e.touchData.start=Oe,e.touchData.starts=ke,e.nodeIsGrabbable(Oe))){var ct=e.dragData.touchDragEles=L.collection(),He=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),Oe.selected()?(He=L.$(function(kt){return kt.selected()&&e.nodeIsGrabbable(kt)}),v(He,{addToList:ct})):y(Oe,{addToList:ct}),d(Oe),Oe.emit(te("grabon")),He?He.forEach(function(kt){kt.emit(te("grab"))}):Oe.emit(te("grab"))}a(Oe,["touchstart","tapstart","vmousedown"],T,{x:X[0],y:X[1]}),Oe??(e.data.bgActivePosistion={x:K[0],y:K[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout(function(){e.touchData.singleTouchMoved===!1&&!e.pinching&&!e.touchData.selecting&&a(e.touchData.start,["taphold"],T,{x:X[0],y:X[1]})},e.tapholdDuration)}if(T.touches.length>=1){for(var it=e.touchData.startPosition=[null,null,null,null,null,null],$e=0;$e<X.length;$e++)it[$e]=U[$e]=X[$e];var tt=T.touches[0];e.touchData.startGPosition=[tt.clientX,tt.clientY]}}},!1);var se;e.registerBinding(t,"touchmove",se=function(T){var L=e.touchData.capture;if(!(!L&&!P(T))){var X=e.selection,U=e.cy,K=e.touchData.now,te=e.touchData.earlier,re=U.zoom();if(T.touches[0]){var de=e.projectIntoViewport(T.touches[0].clientX,T.touches[0].clientY);K[0]=de[0],K[1]=de[1]}if(T.touches[1]){var de=e.projectIntoViewport(T.touches[1].clientX,T.touches[1].clientY);K[2]=de[0],K[3]=de[1]}if(T.touches[2]){var de=e.projectIntoViewport(T.touches[2].clientX,T.touches[2].clientY);K[4]=de[0],K[5]=de[1]}var ie=function(jd){return{originalEvent:T,type:jd,position:{x:K[0],y:K[1]}}},Ee=e.touchData.startGPosition,Re;if(L&&T.touches[0]&&Ee){for(var ae=[],ve=0;ve<K.length;ve++)ae[ve]=K[ve]-te[ve];var ke=T.touches[0].clientX-Ee[0],Oe=ke*ke,ct=T.touches[0].clientY-Ee[1];Re=Oe+ct*ct>=e.touchTapThreshold2}if(L&&e.touchData.cxt){T.preventDefault();var He=T.touches[0].clientX-F,it=T.touches[0].clientY-Z,$e=T.touches[1].clientX-F,tt=T.touches[1].clientY-Z,kt=G(He,it,$e,tt),Tt=kt/Q,en=150,On=en*en,Ar=1.5;if(Tt>=Ar*Ar||kt>=On){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var Kt=ie("cxttapend");e.touchData.start?(e.touchData.start.unactivate().emit(Kt),e.touchData.start=null):U.emit(Kt)}}if(L&&e.touchData.cxt){var Kt=ie("cxtdrag");e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(Kt):U.emit(Kt),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var mt=e.findNearestElement(K[0],K[1],!0,!0);(!e.touchData.cxtOver||mt!==e.touchData.cxtOver)&&(e.touchData.cxtOver&&e.touchData.cxtOver.emit(ie("cxtdragout")),e.touchData.cxtOver=mt,mt&&mt.emit(ie("cxtdragover")))}else if(L&&T.touches[2]&&U.boxSelectionEnabled())T.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||U.emit(ie("boxstart")),e.touchData.selecting=!0,e.touchData.didSelect=!0,X[4]=1,!X||X.length===0||X[0]===void 0?(X[0]=(K[0]+K[2]+K[4])/3,X[1]=(K[1]+K[3]+K[5])/3,X[2]=(K[0]+K[2]+K[4])/3+1,X[3]=(K[1]+K[3]+K[5])/3+1):(X[2]=(K[0]+K[2]+K[4])/3,X[3]=(K[1]+K[3]+K[5])/3),e.redrawHint("select",!0),e.redraw();else if(L&&T.touches[1]&&!e.touchData.didSelect&&U.zoomingEnabled()&&U.panningEnabled()&&U.userZoomingEnabled()&&U.userPanningEnabled()){T.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var dt=e.dragData.touchDragEles;if(dt){e.redrawHint("drag",!0);for(var bt=0;bt<dt.length;bt++){var It=dt[bt]._private;It.grabbed=!1,It.rscratch.inDragLayer=!1}}var Vn=e.touchData.start,He=T.touches[0].clientX-F,it=T.touches[0].clientY-Z,$e=T.touches[1].clientX-F,tt=T.touches[1].clientY-Z,ps=Le(He,it,$e,tt),Ld=ps/J;if(be){var zd=He-W,Od=it-H,Vd=$e-j,Fd=tt-$,Xd=(zd+Vd)/2,Yd=(Od+Fd)/2,tn=U.zoom(),Ua=tn*Ld,Fn=U.pan(),gs=z[0]*tn+Fn.x,vs=z[1]*tn+Fn.y,qd={x:-Ua/tn*(gs-Fn.x-Xd)+gs,y:-Ua/tn*(vs-Fn.y-Yd)+vs};if(Vn&&Vn.active()){var dt=e.dragData.touchDragEles;g(dt),e.redrawHint("drag",!0),e.redrawHint("eles",!0),Vn.unactivate().emit(ie("freeon")),dt.emit(ie("free")),e.dragData.didDrag&&(Vn.emit(ie("dragfreeon")),dt.emit(ie("dragfree")))}U.viewport({zoom:Ua,pan:qd,cancelOnFailedZoom:!0}),U.emit(ie("pinchzoom")),J=ps,W=He,H=it,j=$e,$=tt,e.pinching=!0}if(T.touches[0]){var de=e.projectIntoViewport(T.touches[0].clientX,T.touches[0].clientY);K[0]=de[0],K[1]=de[1]}if(T.touches[1]){var de=e.projectIntoViewport(T.touches[1].clientX,T.touches[1].clientY);K[2]=de[0],K[3]=de[1]}if(T.touches[2]){var de=e.projectIntoViewport(T.touches[2].clientX,T.touches[2].clientY);K[4]=de[0],K[5]=de[1]}}else if(T.touches[0]&&!e.touchData.didSelect){var Dt=e.touchData.start,$a=e.touchData.last,mt;if(!e.hoverData.draggingEles&&!e.swipePanning&&(mt=e.findNearestElement(K[0],K[1],!0,!0)),L&&Dt!=null&&T.preventDefault(),L&&Dt!=null&&e.nodeIsDraggable(Dt))if(Re){var dt=e.dragData.touchDragEles,ys=!e.dragData.didDrag;ys&&v(dt,{inDragLayer:!0}),e.dragData.didDrag=!0;var rn={x:0,y:0};if(ee(ae[0])&&ee(ae[1])&&(rn.x+=ae[0],rn.y+=ae[1],ys)){e.redrawHint("eles",!0);var At=e.touchData.dragDelta;At&&ee(At[0])&&ee(At[1])&&(rn.x+=At[0],rn.y+=At[1])}e.hoverData.draggingEles=!0,dt.silentShift(rn).emit(ie("position")).emit(ie("drag")),e.redrawHint("drag",!0),e.touchData.startPosition[0]==te[0]&&e.touchData.startPosition[1]==te[1]&&e.redrawHint("eles",!0),e.redraw()}else{var At=e.touchData.dragDelta=e.touchData.dragDelta||[];At.length===0?(At.push(ae[0]),At.push(ae[1])):(At[0]+=ae[0],At[1]+=ae[1])}if(a(Dt||mt,["touchmove","tapdrag","vmousemove"],T,{x:K[0],y:K[1]}),(!Dt||!Dt.grabbed())&&mt!=$a&&($a&&$a.emit(ie("tapdragout")),mt&&mt.emit(ie("tapdragover"))),e.touchData.last=mt,L)for(var bt=0;bt<K.length;bt++)K[bt]&&e.touchData.startPosition[bt]&&Re&&(e.touchData.singleTouchMoved=!0);if(L&&(Dt==null||Dt.pannable())&&U.panningEnabled()&&U.userPanningEnabled()){o(Dt,e.touchData.starts)&&(T.preventDefault(),e.data.bgActivePosistion||(e.data.bgActivePosistion=Ir(e.touchData.startPosition)),e.swipePanning?(U.panBy({x:ae[0]*re,y:ae[1]*re}),U.emit(ie("dragpan"))):Re&&(e.swipePanning=!0,U.panBy({x:ke*re,y:ct*re}),U.emit(ie("dragpan")),Dt&&(Dt.unactivate(),e.redrawHint("select",!0),e.touchData.start=null)));var de=e.projectIntoViewport(T.touches[0].clientX,T.touches[0].clientY);K[0]=de[0],K[1]=de[1]}}for(var ve=0;ve<K.length;ve++)te[ve]=K[ve];L&&T.touches.length>0&&!e.hoverData.draggingEles&&!e.swipePanning&&e.data.bgActivePosistion!=null&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1);var ye;e.registerBinding(t,"touchcancel",ye=function(T){var L=e.touchData.start;e.touchData.capture=!1,L&&L.unactivate()});var pe,Te,xe,Ce;if(e.registerBinding(t,"touchend",pe=function(T){var L=e.touchData.start;if(e.touchData.capture)T.touches.length===0&&(e.touchData.capture=!1),T.preventDefault();else return;var X=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var U=e.cy,K=U.zoom(),te=e.touchData.now,re=e.touchData.earlier;if(T.touches[0]){var de=e.projectIntoViewport(T.touches[0].clientX,T.touches[0].clientY);te[0]=de[0],te[1]=de[1]}if(T.touches[1]){var de=e.projectIntoViewport(T.touches[1].clientX,T.touches[1].clientY);te[2]=de[0],te[3]=de[1]}if(T.touches[2]){var de=e.projectIntoViewport(T.touches[2].clientX,T.touches[2].clientY);te[4]=de[0],te[5]=de[1]}var ie=function(tt){return{originalEvent:T,type:tt,position:{x:te[0],y:te[1]}}};L&&L.unactivate();var Ee;if(e.touchData.cxt){if(Ee=ie("cxttapend"),L?L.emit(Ee):U.emit(Ee),!e.touchData.cxtDragged){var Re=ie("cxttap");L?L.emit(Re):U.emit(Re)}e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,e.redraw();return}if(!T.touches[2]&&U.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var ae=U.collection(e.getAllInBox(X[0],X[1],X[2],X[3]));X[0]=void 0,X[1]=void 0,X[2]=void 0,X[3]=void 0,X[4]=0,e.redrawHint("select",!0),U.emit(ie("boxend")),ae.emit(ie("box")).stdFilter(function(tt){return tt.selectable()&&!tt.selected()}).select().emit(ie("boxselect")),ae.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(L==null||L.unactivate(),T.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(!T.touches[1]&&!T.touches[0]&&!T.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var ve=e.dragData.touchDragEles;if(L!=null){var ke=L._private.grabbed;g(ve),e.redrawHint("drag",!0),e.redrawHint("eles",!0),ke&&(L.emit(ie("freeon")),ve.emit(ie("free")),e.dragData.didDrag&&(L.emit(ie("dragfreeon")),ve.emit(ie("dragfree")))),a(L,["touchend","tapend","vmouseup","tapdragout"],T,{x:te[0],y:te[1]}),L.unactivate(),e.touchData.start=null}else a(e.findNearestElement(te[0],te[1],!0,!0),["touchend","tapend","vmouseup","tapdragout"],T,{x:te[0],y:te[1]});var Oe=e.touchData.startPosition[0]-te[0],ct=Oe*Oe,He=e.touchData.startPosition[1]-te[1],it=(ct+He*He)*K*K;e.touchData.singleTouchMoved||(L||U.$(":selected").unselect(["tapunselect"]),a(L,["tap","vclick"],T,{x:te[0],y:te[1]}),Te=!1,T.timeStamp-Ce<=U.multiClickDebounceTime()?(xe&&clearTimeout(xe),Te=!0,Ce=null,a(L,["dbltap","vdblclick"],T,{x:te[0],y:te[1]})):(xe=setTimeout(function(){Te||a(L,["onetap","voneclick"],T,{x:te[0],y:te[1]})},U.multiClickDebounceTime()),Ce=T.timeStamp)),L!=null&&!e.dragData.didDrag&&L._private.selectable&&it<e.touchTapThreshold2&&!e.pinching&&(U.selectionType()==="single"?(U.$(r).unmerge(L).unselect(["tapunselect"]),L.select(["tapselect"])):L.selected()?L.unselect(["tapunselect"]):L.select(["tapselect"]),e.redrawHint("eles",!0)),e.touchData.singleTouchMoved=!0}for(var $e=0;$e<te.length;$e++)re[$e]=te[$e];e.dragData.didDrag=!1,T.touches.length===0&&(e.touchData.dragDelta=[],e.touchData.startPosition=[null,null,null,null,null,null],e.touchData.startGPosition=null,e.touchData.didSelect=!1),T.touches.length<2&&(T.touches.length===1&&(e.touchData.startGPosition=[T.touches[0].clientX,T.touches[0].clientY]),e.pinching=!1,e.redrawHint("eles",!0),e.redraw())},!1),typeof TouchEvent>"u"){var Pe=[],Ie=function(T){return{clientX:T.clientX,clientY:T.clientY,force:1,identifier:T.pointerId,pageX:T.pageX,pageY:T.pageY,radiusX:T.width/2,radiusY:T.height/2,screenX:T.screenX,screenY:T.screenY,target:T.target}},Ae=function(T){return{event:T,touch:Ie(T)}},ue=function(T){Pe.push(Ae(T))},me=function(T){for(var L=0;L<Pe.length;L++)if(Pe[L].event.pointerId===T.pointerId){Pe.splice(L,1);return}},ge=function(T){var L=Pe.filter(function(X){return X.event.pointerId===T.pointerId})[0];L.event=T,L.touch=Ie(T)},je=function(T){T.touches=Pe.map(function(L){return L.touch})},Ye=function(T){return T.pointerType==="mouse"||T.pointerType===4};e.registerBinding(e.container,"pointerdown",function(T){Ye(T)||(T.preventDefault(),ue(T),je(T),le(T))}),e.registerBinding(e.container,"pointerup",function(T){Ye(T)||(me(T),je(T),pe(T))}),e.registerBinding(e.container,"pointercancel",function(T){Ye(T)||(me(T),je(T),ye(T))}),e.registerBinding(e.container,"pointermove",function(T){Ye(T)||(T.preventDefault(),ge(T),je(T),se(T))})}};var $t={};$t.generatePolygon=function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,draw:function(r,n,a,i,o,u){this.renderer.nodeShapeImpl("polygon",r,n,a,i,o,this.points)},intersectLine:function(r,n,a,i,o,u,s,l){return vn(o,u,this.points,r,n,a/2,i/2,s)},checkPoint:function(r,n,a,i,o,u,s,l){return Wt(r,n,this.points,u,s,i,o,[0,-1],a)},hasMiterBounds:e!=="rectangle",miterBounds:function(r,n,a,i,o,u){return xf(this.points,r,n,a,i,o)}}},$t.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,t,r,n,a,i){this.renderer.nodeShapeImpl(this.name,e,t,r,n,a)},intersectLine:function(e,t,r,n,a,i,o,u){return Sf(a,i,e,t,r/2+o,n/2+o)},checkPoint:function(e,t,r,n,a,i,o,u){return br(e,t,n,a,i,o,r)}}},$t.generateRoundPolygon=function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,getOrCreateCorners:function(r,n,a,i,o,u,s){if(u[s]!==void 0&&u[s+"-cx"]===r&&u[s+"-cy"]===n)return u[s];u[s]=Array(t.length/2),u[s+"-cx"]=r,u[s+"-cy"]=n;var l=a/2,c=i/2;o=o==="auto"?hl(a,i):o;for(var d=Array(t.length/2),h=0;h<t.length/2;h++)d[h]={x:r+l*t[h*2],y:n+c*t[h*2+1]};var f,p,v,y,g=d.length;for(p=d[g-1],f=0;f<g;f++)v=d[f%g],y=d[(f+1)%g],u[s][f]=Zo(p,v,y,o),p=v,v=y;return u[s]},draw:function(r,n,a,i,o,u,s){this.renderer.nodeShapeImpl("round-polygon",r,n,a,i,o,this.points,this.getOrCreateCorners(n,a,i,o,u,s,"drawCorners"))},intersectLine:function(r,n,a,i,o,u,s,l,c){return Af(o,u,this.points,r,n,a,i,s,this.getOrCreateCorners(r,n,a,i,l,c,"corners"))},checkPoint:function(r,n,a,i,o,u,s,l,c){return Bf(r,n,this.points,u,s,i,o,this.getOrCreateCorners(u,s,i,o,l,c,"corners"))}}},$t.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:vt(4,0),draw:function(e,t,r,n,a,i){this.renderer.nodeShapeImpl(this.name,e,t,r,n,a,this.points,i)},intersectLine:function(e,t,r,n,a,i,o,u){return cl(a,i,e,t,r,n,o,u)},checkPoint:function(e,t,r,n,a,i,o,u){var s=n/2,l=a/2;u=u==="auto"?ar(n,a):u,u=Math.min(s,l,u);var c=u*2;return!!(Wt(e,t,this.points,i,o,n,a-c,[0,-1],r)||Wt(e,t,this.points,i,o,n-c,a,[0,-1],r)||br(e,t,c,c,i-s+u,o-l+u,r)||br(e,t,c,c,i+s-u,o-l+u,r)||br(e,t,c,c,i+s-u,o+l-u,r)||br(e,t,c,c,i-s+u,o+l-u,r))}}},$t.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:Ti(),points:vt(4,0),draw:function(e,t,r,n,a,i){this.renderer.nodeShapeImpl(this.name,e,t,r,n,a,null,i)},generateCutTrianglePts:function(e,t,r,n,a){var i=a==="auto"?this.cornerLength:a,o=t/2,u=e/2,s=r-u,l=r+u,c=n-o,d=n+o;return{topLeft:[s,c+i,s+i,c,s+i,c+i],topRight:[l-i,c,l,c+i,l-i,c+i],bottomRight:[l,d-i,l-i,d,l-i,d-i],bottomLeft:[s+i,d,s,d-i,s+i,d-i]}},intersectLine:function(e,t,r,n,a,i,o,u){var s=this.generateCutTrianglePts(r+2*o,n+2*o,e,t,u);return vn(a,i,[].concat.apply([],[s.topLeft.splice(0,4),s.topRight.splice(0,4),s.bottomRight.splice(0,4),s.bottomLeft.splice(0,4)]),e,t)},checkPoint:function(e,t,r,n,a,i,o,u){var s=u==="auto"?this.cornerLength:u;if(Wt(e,t,this.points,i,o,n,a-2*s,[0,-1],r)||Wt(e,t,this.points,i,o,n-2*s,a,[0,-1],r))return!0;var l=this.generateCutTrianglePts(n,a,i,o);return Et(e,t,l.topLeft)||Et(e,t,l.topRight)||Et(e,t,l.bottomRight)||Et(e,t,l.bottomLeft)}}},$t.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:vt(4,0),draw:function(e,t,r,n,a,i){this.renderer.nodeShapeImpl(this.name,e,t,r,n,a)},intersectLine:function(e,t,r,n,a,i,o,u){var s=.15,l=.5,c=.85,d=this.generateBarrelBezierPts(r+2*o,n+2*o,e,t),h=function(f){var p=Nr({x:f[0],y:f[1]},{x:f[2],y:f[3]},{x:f[4],y:f[5]},s),v=Nr({x:f[0],y:f[1]},{x:f[2],y:f[3]},{x:f[4],y:f[5]},l),y=Nr({x:f[0],y:f[1]},{x:f[2],y:f[3]},{x:f[4],y:f[5]},c);return[f[0],f[1],p.x,p.y,v.x,v.y,y.x,y.y,f[4],f[5]]};return vn(a,i,[].concat(h(d.topLeft),h(d.topRight),h(d.bottomRight),h(d.bottomLeft)),e,t)},generateBarrelBezierPts:function(e,t,r,n){var a=t/2,i=e/2,o=r-i,u=r+i,s=n-a,l=n+a,c=Ci(e,t),d=c.heightOffset,h=c.widthOffset,f=c.ctrlPtOffsetPct*e,p={topLeft:[o,s+d,o+f,s,o+h,s],topRight:[u-h,s,u-f,s,u,s+d],bottomRight:[u,l-d,u-f,l,u-h,l],bottomLeft:[o+h,l,o+f,l,o,l-d]};return p.topLeft.isTop=!0,p.topRight.isTop=!0,p.bottomLeft.isBottom=!0,p.bottomRight.isBottom=!0,p},checkPoint:function(e,t,r,n,a,i,o,u){var s=Ci(n,a),l=s.heightOffset,c=s.widthOffset;if(Wt(e,t,this.points,i,o,n,a-2*l,[0,-1],r)||Wt(e,t,this.points,i,o,n-2*c,a,[0,-1],r))return!0;for(var d=this.generateBarrelBezierPts(n,a,i,o),h=function(B,k,w){var S=w[4],E=w[2],P=w[0],C=w[5],A=w[1];if(Math.min(S,P)<=B&&B<=Math.max(S,P)&&Math.min(C,A)<=k&&k<=Math.max(C,A)){var D=Rf(S,E,P),R=kf(D[0],D[1],D[2],B).filter(function(_){return 0<=_&&_<=1});if(R.length>0)return R[0]}return null},f=Object.keys(d),p=0;p<f.length;p++){var v=d[f[p]],y=h(e,t,v);if(y!=null){var g=v[5],m=v[3],b=v[1],x=rt(g,m,b,y);if(v.isTop&&x<=t||v.isBottom&&t<=x)return!0}}return!1}}},$t.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:vt(4,0),draw:function(e,t,r,n,a,i){this.renderer.nodeShapeImpl(this.name,e,t,r,n,a,this.points,i)},intersectLine:function(e,t,r,n,a,i,o,u){var s=e-(r/2+o),l=t-(n/2+o),c=l,d=nr(a,i,e,t,s,l,e+(r/2+o),c,!1);return d.length>0?d:cl(a,i,e,t,r,n,o,u)},checkPoint:function(e,t,r,n,a,i,o,u){u=u==="auto"?ar(n,a):u;var s=2*u;if(Wt(e,t,this.points,i,o,n,a-s,[0,-1],r)||Wt(e,t,this.points,i,o,n-s,a,[0,-1],r))return!0;var l=n/2+2*r,c=a/2+2*r;return!!(Et(e,t,[i-l,o-c,i-l,o,i+l,o,i+l,o-c])||br(e,t,s,s,i+n/2-u,o+a/2-u,r)||br(e,t,s,s,i-n/2+u,o+a/2-u,r))}}},$t.registerNodeShapes=function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",vt(3,0)),this.generateRoundPolygon("round-triangle",vt(3,0)),this.generatePolygon("rectangle",vt(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r),this.generatePolygon("pentagon",vt(5,0)),this.generateRoundPolygon("round-pentagon",vt(5,0)),this.generatePolygon("hexagon",vt(6,0)),this.generateRoundPolygon("round-hexagon",vt(6,0)),this.generatePolygon("heptagon",vt(7,0)),this.generateRoundPolygon("round-heptagon",vt(7,0)),this.generatePolygon("octagon",vt(8,0)),this.generateRoundPolygon("round-octagon",vt(8,0));var n=Array(20),a=ki(5,0),i=ki(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var u=0;u<i.length/2;u++)i[u*2]*=o,i[u*2+1]*=o;for(var u=0;u<20/4;u++)n[u*4]=a[u*2],n[u*4+1]=a[u*2+1],n[u*4+2]=i[u*2],n[u*4+3]=i[u*2+1];n=dl(n),this.generatePolygon("star",n),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);var s=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",s),this.generateRoundPolygon("round-tag",s),e.makePolygon=function(l){var c="polygon-"+l.join("$"),d;return(d=this[c])?d:t.generatePolygon(c,l)}};var Rn={};Rn.timeToRender=function(){return this.redrawTotalTime/this.redrawCount},Rn.redraw=function(e){e||(e=tl());var t=this;t.averageRedrawTime===void 0&&(t.averageRedrawTime=0),t.lastRedrawTime===void 0&&(t.lastRedrawTime=0),t.lastDrawTime===void 0&&(t.lastDrawTime=0),t.requestedFrame=!0,t.renderOptions=e},Rn.beforeRender=function(e,t){if(!this.destroyed){t??qe("Priority is not optional for beforeRender");var r=this.beforeRenderCallbacks;r.push({fn:e,priority:t}),r.sort(function(n,a){return a.priority-n.priority})}};var Jc=function(e,t,r){for(var n=e.beforeRenderCallbacks,a=0;a<n.length;a++)n[a].fn(t,r)};Rn.startRenderLoop=function(){var e=this,t=e.cy;if(!e.renderLoopStarted){e.renderLoopStarted=!0;var r=function(n){if(!e.destroyed){if(!t.batching())if(e.requestedFrame&&!e.skipFrame){Jc(e,!0,n);var a=Yt();e.render(e.renderOptions);var i=e.lastDrawTime=Yt();e.averageRedrawTime===void 0&&(e.averageRedrawTime=i-a),e.redrawCount===void 0&&(e.redrawCount=0),e.redrawCount++,e.redrawTotalTime===void 0&&(e.redrawTotalTime=0);var o=i-a;e.redrawTotalTime+=o,e.lastRedrawTime=o,e.averageRedrawTime=e.averageRedrawTime/2+o/2,e.requestedFrame=!1}else Jc(e,!1,n);e.skipFrame=!1,Un(r)}};Un(r)}};var ed=function(e){this.init(e)},Kr=ed.prototype;Kr.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],Kr.init=function(e){var t=this;t.options=e,t.cy=e.cy;var r=t.container=e.cy.container(),n=t.cy.window();if(n){var a=n.document,i=a.head,o="__________cytoscape_stylesheet",u="__________cytoscape_container",s=a.getElementById(o)!=null;if(r.className.indexOf(u)<0&&(r.className=(r.className||"")+" "+u),!s){var l=a.createElement("style");l.id=o,l.textContent="."+u+" { position: relative; }",i.insertBefore(l,i.children[0])}n.getComputedStyle(r).getPropertyValue("position")==="static"&&_e("A Cytoscape container has style position:static and so can not use UI extensions properly")}t.selection=[void 0,void 0,void 0,void 0,0],t.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],t.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},t.dragData={possibleDragElements:[]},t.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},t.redraws=0,t.showFps=e.showFps,t.debug=e.debug,t.webgl=e.webgl,t.hideEdgesOnViewport=e.hideEdgesOnViewport,t.textureOnViewport=e.textureOnViewport,t.wheelSensitivity=e.wheelSensitivity,t.motionBlurEnabled=e.motionBlur,t.forcedPixelRatio=ee(e.pixelRatio)?e.pixelRatio:null,t.motionBlur=e.motionBlur,t.motionBlurOpacity=e.motionBlurOpacity,t.motionBlurTransparency=1-t.motionBlurOpacity,t.motionBlurPxRatio=1,t.mbPxRBlurry=1,t.minMbLowQualFrames=4,t.fullQualityMb=!1,t.clearedForMotionBlur=[],t.desktopTapThreshold=e.desktopTapThreshold,t.desktopTapThreshold2=e.desktopTapThreshold*e.desktopTapThreshold,t.touchTapThreshold=e.touchTapThreshold,t.touchTapThreshold2=e.touchTapThreshold*e.touchTapThreshold,t.tapholdDuration=500,t.bindings=[],t.beforeRenderCallbacks=[],t.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},t.registerNodeShapes(),t.registerArrowShapes(),t.registerCalculationListeners()},Kr.notify=function(e,t){var r=this,n=r.cy;if(!this.destroyed){if(e==="init"){r.load();return}if(e==="destroy"){r.destroy();return}(e==="add"||e==="remove"||e==="move"&&n.hasCompoundNodes()||e==="load"||e==="zorder"||e==="mount")&&r.invalidateCachedZSortedEles(),e==="viewport"&&r.redrawHint("select",!0),e==="gc"&&r.redrawHint("gc",!0),(e==="load"||e==="resize"||e==="mount")&&(r.invalidateContainerClientCoordsCache(),r.matchCanvasSize(r.container)),r.redrawHint("eles",!0),r.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},Kr.destroy=function(){var e=this;e.destroyed=!0,e.cy.stopAnimationLoop();for(var t=0;t<e.bindings.length;t++){var r=e.bindings[t],n=r.target;(n.off||n.removeEventListener).apply(n,r.args)}if(e.bindings=[],e.beforeRenderCallbacks=[],e.onUpdateEleCalcsFns=[],e.removeObserver&&e.removeObserver.disconnect(),e.styleObserver&&e.styleObserver.disconnect(),e.resizeObserver&&e.resizeObserver.disconnect(),e.labelCalcDiv)try{document.body.removeChild(e.labelCalcDiv)}catch{}},Kr.isHeadless=function(){return!1},[Uo,Zc,Qc,Gr,$t,Rn].forEach(function(e){he(Kr,e)});var Jo=1e3/60,td={setupDequeueing:function(e){return function(){var t=this,r=this.renderer;if(!t.dequeueingSetup){t.dequeueingSetup=!0;var n=un(function(){r.redrawHint("eles",!0),r.redrawHint("drag",!0),r.redraw()},e.deqRedrawThreshold),a=function(o,u){var s=Yt(),l=r.averageRedrawTime,c=r.lastRedrawTime,d=[],h=r.cy.extent(),f=r.getPixelRatio();for(o||r.flushRenderedStyleQueue();;){var p=Yt(),v=p-s,y=p-u;if(c<Jo){var g=Jo-(o?l:0);if(y>=e.deqFastCost*g)break}else if(o){if(v>=e.deqCost*c||v>=e.deqAvgCost*l)break}else if(y>=e.deqNoDrawCost*Jo)break;var m=e.deq(t,f,h);if(m.length>0)for(var b=0;b<m.length;b++)d.push(m[b]);else break}d.length>0&&(e.onDeqd(t,d),!o&&e.shouldRedraw(t,d,f,h)&&n())},i=e.priority||gi;r.beforeRender(a,i(t))}}}},Av=(function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gn;Ht(this,e),this.idsByKey=new jt,this.keyForId=new jt,this.cachesByLvl=new jt,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=r}return Zt(e,[{key:"getIdsFor",value:function(t){t??qe("Can not get id list for null key");var r=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new Mr,r.set(t,n)),n}},{key:"addIdForKey",value:function(t,r){t!=null&&this.getIdsFor(t).add(r)}},{key:"deleteIdForKey",value:function(t,r){t!=null&&this.getIdsFor(t).delete(r)}},{key:"getNumberOfIdsForKey",value:function(t){return t==null?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var r=t.id(),n=this.keyForId.get(r),a=this.getKey(t);this.deleteIdForKey(n,r),this.addIdForKey(a,r),this.keyForId.set(r,a)}},{key:"deleteKeyMappingFor",value:function(t){var r=t.id(),n=this.keyForId.get(r);this.deleteIdForKey(n,r),this.keyForId.delete(r)}},{key:"keyHasChangedFor",value:function(t){var r=t.id();return this.keyForId.get(r)!==this.getKey(t)}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var r=this.cachesByLvl,n=this.lvls,a=r.get(t);return a||(a=new jt,r.set(t,a),n.push(t)),a}},{key:"getCache",value:function(t,r){return this.getCachesAt(r).get(t)}},{key:"get",value:function(t,r){var n=this.getKey(t),a=this.getCache(n,r);return a!=null&&this.updateKeyMappingFor(t),a}},{key:"getForCachedKey",value:function(t,r){var n=this.keyForId.get(t.id());return this.getCache(n,r)}},{key:"hasCache",value:function(t,r){return this.getCachesAt(r).has(t)}},{key:"has",value:function(t,r){var n=this.getKey(t);return this.hasCache(n,r)}},{key:"setCache",value:function(t,r,n){n.key=t,this.getCachesAt(r).set(t,n)}},{key:"set",value:function(t,r,n){var a=this.getKey(t);this.setCache(a,r,n),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,r){this.getCachesAt(r).delete(t)}},{key:"delete",value:function(t,r){var n=this.getKey(t);this.deleteCache(n,r)}},{key:"invalidateKey",value:function(t){var r=this;this.lvls.forEach(function(n){return r.deleteCache(t,n)})}},{key:"invalidate",value:function(t){var r=t.id(),n=this.keyForId.get(r);this.deleteKeyMappingFor(t);var a=this.doesEleInvalidateKey(t);return a&&this.invalidateKey(n),a||this.getNumberOfIdsForKey(n)===0}}])})(),rd=25,Oa=50,Va=-4,es=3,nd=7.99,Rv=8,_v=1024,Mv=1024,Iv=1024,Nv=.2,Lv=.8,zv=10,Ov=.15,Vv=.1,Fv=.9,Xv=.9,Yv=100,qv=1,Hr={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},jv=ot({getKey:null,doesEleInvalidateKey:Gn,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:Zs,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),_n=function(e,t){var r=this;r.renderer=e,r.onDequeues=[];var n=jv(t);he(r,n),r.lookup=new Av(n.getKey,n.doesEleInvalidateKey),r.setupDequeueing()},et=_n.prototype;et.reasons=Hr,et.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},et.getRetiredTextureQueue=function(e){var t=this,r=t.eleImgCaches.retired=t.eleImgCaches.retired||{};return r[e]=r[e]||[]},et.getElementQueue=function(){var e=this;return e.eleCacheQueue=e.eleCacheQueue||new fn(function(t,r){return r.reqs-t.reqs})},et.getElementKeyToQueue=function(){var e=this;return e.eleKeyToCacheQueue=e.eleKeyToCacheQueue||{}},et.getElement=function(e,t,r,n,a){var i=this,o=this.renderer,u=o.cy.zoom(),s=this.lookup;if(!t||t.w===0||t.h===0||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed()||!i.allowEdgeTxrCaching&&e.isEdge()||!i.allowParentTxrCaching&&e.isParent())return null;if(n??(n=Math.ceil(bi(u*r))),n<Va)n=Va;else if(u>=nd||n>es)return null;var l=2**n,c=t.h*l,d=t.w*l,h=o.eleTextBiggerThanMin(e,l);if(!this.isVisible(e,h))return null;var f=s.get(e,n);if(f&&f.invalidated&&(f.invalidated=!1,f.texture.invalidatedWidth-=f.width),f)return f;var p=c<=rd?rd:c<=Oa?Oa:Math.ceil(c/Oa)*Oa;if(c>Iv||d>Mv)return null;var v=i.getTextureQueue(p),y=v[v.length-2],g=function(){return i.recycleTexture(p,d)||i.addTexture(p,d)};y||(y=v[v.length-1]),y||(y=g()),y.width-y.usedWidth<d&&(y=g());for(var m=function(_){return _&&_.scaledLabelShown===h},b=a&&a===Hr.dequeue,x=a&&a===Hr.highQuality,B=a&&a===Hr.downscale,k,w=n+1;w<=es;w++){var S=s.get(e,w);if(S){k=S;break}}var E=k&&k.level===n+1?k:null,P=function(){y.context.drawImage(E.texture.canvas,E.x,0,E.width,E.height,y.usedWidth,0,d,c)};if(y.context.setTransform(1,0,0,1,0,0),y.context.clearRect(y.usedWidth,0,d,p),m(E))P();else if(m(k))if(x){for(var C=k.level;C>n;C--)E=i.getElement(e,t,r,C,Hr.downscale);P()}else return i.queueElement(e,k.level-1),k;else{var A;if(!b&&!x&&!B)for(var D=n-1;D>=Va;D--){var R=s.get(e,D);if(R){A=R;break}}if(m(A))return i.queueElement(e,n),A;y.context.translate(y.usedWidth,0),y.context.scale(l,l),this.drawElement(y.context,e,t,h,!1),y.context.scale(1/l,1/l),y.context.translate(-y.usedWidth,0)}return f={x:y.usedWidth,texture:y,level:n,scale:l,width:d,height:c,scaledLabelShown:h},y.usedWidth+=Math.ceil(d+Rv),y.eleCaches.push(f),s.set(e,n,f),i.checkTextureFullness(y),f},et.invalidateElements=function(e){for(var t=0;t<e.length;t++)this.invalidateElement(e[t])},et.invalidateElement=function(e){var t=this,r=t.lookup,n=[];if(r.isInvalid(e)){for(var a=Va;a<=es;a++){var i=r.getForCachedKey(e,a);i&&n.push(i)}if(r.invalidate(e))for(var o=0;o<n.length;o++){var u=n[o],s=u.texture;s.invalidatedWidth+=u.width,u.invalidated=!0,t.checkTextureUtility(s)}t.removeFromQueue(e)}},et.checkTextureUtility=function(e){e.invalidatedWidth>=Nv*e.width&&this.retireTexture(e)},et.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>Lv&&e.fullnessChecks>=zv?tr(t,e):e.fullnessChecks++},et.retireTexture=function(e){var t=this,r=e.height,n=t.getTextureQueue(r),a=this.lookup;tr(n,e),e.retired=!0;for(var i=e.eleCaches,o=0;o<i.length;o++){var u=i[o];a.deleteCache(u.key,u.level)}vi(i),t.getRetiredTextureQueue(r).push(e)},et.addTexture=function(e,t){var r=this,n=r.getTextureQueue(e),a={};return n.push(a),a.eleCaches=[],a.height=e,a.width=Math.max(_v,t),a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,a.canvas=r.renderer.makeOffscreenCanvas(a.width,a.height),a.context=a.canvas.getContext("2d"),a},et.recycleTexture=function(e,t){for(var r=this,n=r.getTextureQueue(e),a=r.getRetiredTextureQueue(e),i=0;i<a.length;i++){var o=a[i];if(o.width>=t)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,vi(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),tr(a,o),n.push(o),o}},et.queueElement=function(e,t){var r=this,n=r.getElementQueue(),a=r.getElementKeyToQueue(),i=this.getKey(e),o=a[i];if(o)o.level=Math.max(o.level,t),o.eles.merge(e),o.reqs++,n.updateItem(o);else{var u={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(u),a[i]=u}},et.dequeue=function(e){for(var t=this,r=t.getElementQueue(),n=t.getElementKeyToQueue(),a=[],i=t.lookup,o=0;o<qv&&r.size()>0;o++){var u=r.pop(),s=u.key,l=u.eles[0],c=i.hasCache(l,u.level);if(n[s]=null,!c){a.push(u);var d=t.getBoundingBox(l);t.getElement(l,d,e,u.level,Hr.dequeue)}}return a},et.removeFromQueue=function(e){var t=this,r=t.getElementQueue(),n=t.getElementKeyToQueue(),a=this.getKey(e),i=n[a];i!=null&&(i.eles.length===1?(i.reqs=pi,r.updateItem(i),r.pop(),n[a]=null):i.eles.unmerge(e))},et.onDequeue=function(e){this.onDequeues.push(e)},et.offDequeue=function(e){tr(this.onDequeues,e)},et.setupDequeueing=td.setupDequeueing({deqRedrawThreshold:Yv,deqCost:Ov,deqAvgCost:Vv,deqNoDrawCost:Fv,deqFastCost:Xv,deq:function(e,t,r){return e.dequeue(t,r)},onDeqd:function(e,t){for(var r=0;r<e.onDequeues.length;r++){var n=e.onDequeues[r];n(t)}},shouldRedraw:function(e,t,r,n){for(var a=0;a<t.length;a++)for(var i=t[a].eles,o=0;o<i.length;o++)if(wi(i[o].boundingBox(),n))return!0;return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}});var Wv=1,Mn=-4,Fa=2,Uv=3.99,$v=50,Gv=50,Kv=.15,Hv=.1,Zv=.9,Qv=.9,Jv=1,ad=250,ey=4e3*4e3,id=32767,ty=!0,od=function(e){var t=this,r=t.renderer=e,n=r.cy;t.layersByLevel={},t.firstGet=!0,t.lastInvalidationTime=Yt()-2*ad,t.skipping=!1,t.eleTxrDeqs=n.collection(),t.scheduleElementRefinement=un(function(){t.refineElementTextures(t.eleTxrDeqs),t.eleTxrDeqs.unmerge(t.eleTxrDeqs)},Gv),r.beforeRender(function(a,i){i-t.lastInvalidationTime<=ad?t.skipping=!0:t.skipping=!1},r.beforeRenderPriorities.lyrTxrSkip),t.layersQueue=new fn(function(a,i){return i.reqs-a.reqs}),t.setupDequeueing()},ut=od.prototype,sd=0,ry=2**53-1;ut.makeLayer=function(e,t){var r=2**t,n=Math.ceil(e.w*r),a=Math.ceil(e.h*r),i=this.renderer.makeOffscreenCanvas(n,a),o={id:sd=++sd%ry,bb:e,level:t,width:n,height:a,canvas:i,context:i.getContext("2d"),eles:[],elesQueue:[],reqs:0},u=o.context,s=-o.bb.x1,l=-o.bb.y1;return u.scale(r,r),u.translate(s,l),o},ut.getLayers=function(e,t,r){var n=this,a=n.renderer.cy.zoom(),i=n.firstGet;if(n.firstGet=!1,r==null){if(r=Math.ceil(bi(a*t)),r<Mn)r=Mn;else if(a>=Uv||r>Fa)return null}n.validateLayersElesOrdering(r,e);var o=n.layersByLevel,u=2**r,s=o[r]=o[r]||[],l,c=n.levelIsComplete(r,e),d,h=function(){var w=function(C){if(n.validateLayersElesOrdering(C,e),n.levelIsComplete(C,e))return d=o[C],!0},S=function(C){if(!d)for(var A=r+C;Mn<=A&&A<=Fa&&!w(A);A+=C);};S(1),S(-1);for(var E=s.length-1;E>=0;E--){var P=s[E];P.invalid&&tr(s,P)}};if(!c)h();else return s;var f=function(){if(!l){l=gt();for(var w=0;w<e.length;w++)yf(l,e[w].boundingBox())}return l},p=function(w){w||(w={});var S=w.after;f();var E=Math.ceil(l.w*u),P=Math.ceil(l.h*u);if(E>id||P>id||E*P>ey)return null;var C=n.makeLayer(l,r);if(S!=null){var A=s.indexOf(S)+1;s.splice(A,0,C)}else(w.insert===void 0||w.insert)&&s.unshift(C);return C};if(n.skipping&&!i)return null;for(var v=null,y=e.length/Wv,g=!i,m=0;m<e.length;m++){var b=e[m],x=b._private.rscratch,B=x.imgLayerCaches=x.imgLayerCaches||{},k=B[r];if(k){v=k;continue}if((!v||v.eles.length>=y||!ul(v.bb,b.boundingBox()))&&(v=p({insert:!0,after:v}),!v))return null;d||g?n.queueLayer(v,b):n.drawEleInLayer(v,b,r,t),v.eles.push(b),B[r]=v}return d||(g?null:s)},ut.getEleLevelForLayerLevel=function(e,t){return e},ut.drawEleInLayer=function(e,t,r,n){var a=this,i=this.renderer,o=e.context,u=t.boundingBox();u.w===0||u.h===0||!t.visible()||(r=a.getEleLevelForLayerLevel(r,n),i.setImgSmoothing(o,!1),i.drawCachedElement(o,t,null,null,r,ty),i.setImgSmoothing(o,!0))},ut.levelIsComplete=function(e,t){var r=this.layersByLevel[e];if(!r||r.length===0)return!1;for(var n=0,a=0;a<r.length;a++){var i=r[a];if(i.reqs>0||i.invalid)return!1;n+=i.eles.length}return n===t.length},ut.validateLayersElesOrdering=function(e,t){var r=this.layersByLevel[e];if(r)for(var n=0;n<r.length;n++){for(var a=r[n],i=-1,o=0;o<t.length;o++)if(a.eles[0]===t[o]){i=o;break}if(i<0){this.invalidateLayer(a);continue}for(var u=i,o=0;o<a.eles.length;o++)if(a.eles[o]!==t[u+o]){this.invalidateLayer(a);break}}},ut.updateElementsInLayers=function(e,t){for(var r=this,n=an(e[0]),a=0;a<e.length;a++)for(var i=n?null:e[a],o=n?e[a]:e[a].ele,u=o._private.rscratch,s=u.imgLayerCaches=u.imgLayerCaches||{},l=Mn;l<=Fa;l++){var c=s[l];c&&(i&&r.getEleLevelForLayerLevel(c.level)!==i.level||t(c,o,i))}},ut.haveLayers=function(){for(var e=this,t=!1,r=Mn;r<=Fa;r++){var n=e.layersByLevel[r];if(n&&n.length>0){t=!0;break}}return t},ut.invalidateElements=function(e){var t=this;e.length!==0&&(t.lastInvalidationTime=Yt(),!(e.length===0||!t.haveLayers())&&t.updateElementsInLayers(e,function(r,n,a){t.invalidateLayer(r)}))},ut.invalidateLayer=function(e){if(this.lastInvalidationTime=Yt(),!e.invalid){var t=e.level,r=e.eles,n=this.layersByLevel[t];tr(n,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var a=0;a<r.length;a++){var i=r[a]._private.rscratch.imgLayerCaches;i&&(i[t]=null)}}},ut.refineElementTextures=function(e){var t=this;t.updateElementsInLayers(e,function(r,n,a){var i=r.replacement;if(i||(i=r.replacement=t.makeLayer(r.bb,r.level),i.replaces=r,i.eles=r.eles),!i.reqs)for(var o=0;o<i.eles.length;o++)t.queueLayer(i,i.eles[o])})},ut.enqueueElementRefinement=function(e){this.eleTxrDeqs.merge(e),this.scheduleElementRefinement()},ut.queueLayer=function(e,t){var r=this.layersQueue,n=e.elesQueue,a=n.hasId=n.hasId||{};if(!e.replacement){if(t){if(a[t.id()])return;n.push(t),a[t.id()]=!0}e.reqs?(e.reqs++,r.updateItem(e)):(e.reqs=1,r.push(e))}},ut.dequeue=function(e){for(var t=this,r=t.layersQueue,n=[],a=0;a<Jv&&r.size()!==0;){var i=r.peek();if(i.replacement){r.pop();continue}if(i.replaces&&i!==i.replaces.replacement){r.pop();continue}if(i.invalid){r.pop();continue}var o=i.elesQueue.shift();o&&(t.drawEleInLayer(i,o,i.level,e),a++),n.length===0&&n.push(!0),i.elesQueue.length===0&&(r.pop(),i.reqs=0,i.replaces&&t.applyLayerReplacement(i),t.requestRedraw())}return n},ut.applyLayerReplacement=function(e){var t=this,r=t.layersByLevel[e.level],n=e.replaces,a=r.indexOf(n);if(!(a<0||n.invalid)){r[a]=e;for(var i=0;i<e.eles.length;i++){var o=e.eles[i]._private,u=o.imgLayerCaches=o.imgLayerCaches||{};u&&(u[e.level]=e)}t.requestRedraw()}},ut.requestRedraw=un(function(){var e=this.renderer;e.redrawHint("eles",!0),e.redrawHint("drag",!0),e.redraw()},100),ut.setupDequeueing=td.setupDequeueing({deqRedrawThreshold:$v,deqCost:Kv,deqAvgCost:Hv,deqNoDrawCost:Zv,deqFastCost:Qv,deq:function(e,t){return e.dequeue(t)},onDeqd:gi,shouldRedraw:Zs,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}});var ld={},ny;function ay(e,t){for(var r=0;r<t.length;r++){var n=t[r];e.lineTo(n.x,n.y)}}function iy(e,t,r){for(var n,a=0;a<t.length;a++){var i=t[a];a===0&&(n=i),e.lineTo(i.x,i.y)}e.quadraticCurveTo(r.x,r.y,n.x,n.y)}function ud(e,t,r){e.beginPath&&e.beginPath();for(var n=t,a=0;a<n.length;a++){var i=n[a];e.lineTo(i.x,i.y)}var o=r,u=r[0];e.moveTo(u.x,u.y);for(var a=1;a<o.length;a++){var i=o[a];e.lineTo(i.x,i.y)}e.closePath&&e.closePath()}function oy(e,t,r,n,a){e.beginPath&&e.beginPath(),e.arc(r,n,a,0,Math.PI*2,!1);var i=t,o=i[0];e.moveTo(o.x,o.y);for(var u=0;u<i.length;u++){var s=i[u];e.lineTo(s.x,s.y)}e.closePath&&e.closePath()}function sy(e,t,r,n){e.arc(t,r,n,0,Math.PI*2,!1)}ld.arrowShapeImpl=function(e){return(ny||(ny={polygon:ay,"triangle-backcurve":iy,"triangle-tee":ud,"circle-triangle":oy,"triangle-cross":ud,circle:sy}))[e]};var Ft={};Ft.drawElement=function(e,t,r,n,a,i){var o=this;t.isNode()?o.drawNode(e,t,r,n,a,i):o.drawEdge(e,t,r,n,a,i)},Ft.drawElementOverlay=function(e,t){var r=this;t.isNode()?r.drawNodeOverlay(e,t):r.drawEdgeOverlay(e,t)},Ft.drawElementUnderlay=function(e,t){var r=this;t.isNode()?r.drawNodeUnderlay(e,t):r.drawEdgeUnderlay(e,t)},Ft.drawCachedElementPortion=function(e,t,r,n,a,i,o,u){var s=this,l=r.getBoundingBox(t);if(!(l.w===0||l.h===0)){var c=r.getElement(t,l,n,a,i);if(c!=null){var d=u(s,t);if(d===0)return;var h=o(s,t),f=l.x1,p=l.y1,v=l.w,y=l.h,g,m,b,x,B;if(h!==0){var k=r.getRotationPoint(t);b=k.x,x=k.y,e.translate(b,x),e.rotate(h),B=s.getImgSmoothing(e),B||s.setImgSmoothing(e,!0);var w=r.getRotationOffset(t);g=w.x,m=w.y}else g=f,m=p;var S;d!==1&&(S=e.globalAlpha,e.globalAlpha=S*d),e.drawImage(c.texture.canvas,c.x,0,c.width,c.height,g,m,v,y),d!==1&&(e.globalAlpha=S),h!==0&&(e.rotate(-h),e.translate(-b,-x),B||s.setImgSmoothing(e,!1))}else r.drawElement(e,t)}};var ly=function(){return 0},uy=function(e,t){return e.getTextAngle(t,null)},cy=function(e,t){return e.getTextAngle(t,"source")},dy=function(e,t){return e.getTextAngle(t,"target")},hy=function(e,t){return t.effectiveOpacity()},ts=function(e,t){return t.pstyle("text-opacity").pfValue*t.effectiveOpacity()};Ft.drawCachedElement=function(e,t,r,n,a,i){var o=this,u=o.data,s=u.eleTxrCache,l=u.lblTxrCache,c=u.slbTxrCache,d=u.tlbTxrCache,h=t.boundingBox(),f=i===!0?s.reasons.highQuality:null;if(!(h.w===0||h.h===0||!t.visible())&&(!n||wi(h,n))){var p=t.isEdge(),v=t.element()._private.rscratch.badLine;o.drawElementUnderlay(e,t),o.drawCachedElementPortion(e,t,s,r,a,f,ly,hy),(!p||!v)&&o.drawCachedElementPortion(e,t,l,r,a,f,uy,ts),p&&!v&&(o.drawCachedElementPortion(e,t,c,r,a,f,cy,ts),o.drawCachedElementPortion(e,t,d,r,a,f,dy,ts)),o.drawElementOverlay(e,t)}},Ft.drawElements=function(e,t){for(var r=this,n=0;n<t.length;n++){var a=t[n];r.drawElement(e,a)}},Ft.drawCachedElements=function(e,t,r,n){for(var a=this,i=0;i<t.length;i++){var o=t[i];a.drawCachedElement(e,o,r,n)}},Ft.drawCachedNodes=function(e,t,r,n){for(var a=this,i=0;i<t.length;i++){var o=t[i];o.isNode()&&a.drawCachedElement(e,o,r,n)}},Ft.drawLayeredElements=function(e,t,r,n){var a=this,i=a.data.lyrTxrCache.getLayers(t,r);if(i)for(var o=0;o<i.length;o++){var u=i[o],s=u.bb;s.w===0||s.h===0||e.drawImage(u.canvas,s.x1,s.y1,s.w,s.h)}else a.drawCachedElements(e,t,r,n)};var Gt={};Gt.drawEdge=function(e,t,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,u=t._private.rscratch;if(!(i&&!t.visible())&&!(u.badLine||u.allpts==null||isNaN(u.allpts[0]))){var s;r&&(s=r,e.translate(-s.x1,-s.y1));var l=i?t.pstyle("opacity").value:1,c=i?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,f=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,v=t.pstyle("line-outline-width").value,y=t.pstyle("line-outline-color").value,g=l*c,m=l*c,b=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:g;d==="straight-triangle"?(o.eleStrokeStyle(e,t,A),o.drawEdgeTrianglePath(t,e,u.allpts)):(e.lineWidth=f,e.lineCap=p,o.eleStrokeStyle(e,t,A),o.drawEdgePath(t,e,u.allpts,h),e.lineCap="butt")},x=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:g;if(e.lineWidth=f+v,e.lineCap=p,v>0)o.colorStrokeStyle(e,y[0],y[1],y[2],A);else{e.lineCap="butt";return}d==="straight-triangle"?o.drawEdgeTrianglePath(t,e,u.allpts):(o.drawEdgePath(t,e,u.allpts,h),e.lineCap="butt")},B=function(){a&&o.drawEdgeOverlay(e,t)},k=function(){a&&o.drawEdgeUnderlay(e,t)},w=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:m;o.drawArrowheads(e,t,A)},S=function(){o.drawElementText(e,t,null,n)};if(e.lineJoin="round",t.pstyle("ghost").value==="yes"){var E=t.pstyle("ghost-offset-x").pfValue,P=t.pstyle("ghost-offset-y").pfValue,C=g*t.pstyle("ghost-opacity").value;e.translate(E,P),b(C),w(C),e.translate(-E,-P)}else x();k(),b(),w(),B(),S(),r&&e.translate(s.x1,s.y1)}};var cd=function(e){if(!["overlay","underlay"].includes(e))throw Error("Invalid state");return function(t,r){if(r.visible()){var n=r.pstyle(`${e}-opacity`).value;if(n!==0){var a=this,i=a.usePaths(),o=r._private.rscratch,u=2*r.pstyle(`${e}-padding`).pfValue,s=r.pstyle(`${e}-color`).value;t.lineWidth=u,o.edgeType==="self"&&!i?t.lineCap="butt":t.lineCap="round",a.colorStrokeStyle(t,s[0],s[1],s[2],n),a.drawEdgePath(r,t,o.allpts,"solid")}}}};Gt.drawEdgeOverlay=cd("overlay"),Gt.drawEdgeUnderlay=cd("underlay"),Gt.drawEdgePath=function(e,t,r,n){var a=e._private.rscratch,i=t,o,u=!1,s=this.usePaths(),l=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(s){var d=r.join("$");a.pathCacheKey&&a.pathCacheKey===d?(o=t=a.pathCache,u=!0):(o=t=new Path2D,a.pathCacheKey=d,a.pathCache=o)}if(i.setLineDash)switch(n){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(l),i.lineDashOffset=c;break;case"solid":i.setLineDash([]);break}if(!u&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(r[0],r[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+3<r.length;h+=4)t.quadraticCurveTo(r[h],r[h+1],r[h+2],r[h+3]);break;case"straight":case"haystack":for(var f=2;f+1<r.length;f+=2)t.lineTo(r[f],r[f+1]);break;case"segments":if(a.isRound){var p=xt(a.roundCorners),v;try{for(p.s();!(v=p.n()).done;){var y=v.value;Wc(t,y)}}catch(m){p.e(m)}finally{p.f()}t.lineTo(r[r.length-2],r[r.length-1])}else for(var g=2;g+1<r.length;g+=2)t.lineTo(r[g],r[g+1]);break}t=i,s?t.stroke(o):t.stroke(),t.setLineDash&&t.setLineDash([])},Gt.drawEdgeTrianglePath=function(e,t,r){t.fillStyle=t.strokeStyle;for(var n=e.pstyle("width").pfValue,a=0;a+1<r.length;a+=2){var i=[r[a+2]-r[a],r[a+3]-r[a+1]],o=Math.sqrt(i[0]*i[0]+i[1]*i[1]),u=[i[1]/o,-i[0]/o],s=[u[0]*n/2,u[1]*n/2];t.beginPath(),t.moveTo(r[a]-s[0],r[a+1]-s[1]),t.lineTo(r[a]+s[0],r[a+1]+s[1]),t.lineTo(r[a+2],r[a+3]),t.closePath(),t.fill()}},Gt.drawArrowheads=function(e,t,r){var n=t._private.rscratch,a=n.edgeType==="haystack";a||this.drawArrowhead(e,t,"source",n.arrowStartX,n.arrowStartY,n.srcArrowAngle,r),this.drawArrowhead(e,t,"mid-target",n.midX,n.midY,n.midtgtArrowAngle,r),this.drawArrowhead(e,t,"mid-source",n.midX,n.midY,n.midsrcArrowAngle,r),a||this.drawArrowhead(e,t,"target",n.arrowEndX,n.arrowEndY,n.tgtArrowAngle,r)},Gt.drawArrowhead=function(e,t,r,n,a,i,o){if(!(isNaN(n)||n==null||isNaN(a)||a==null||isNaN(i)||i==null)){var u=this,s=t.pstyle(r+"-arrow-shape").value;if(s!=="none"){var l=t.pstyle(r+"-arrow-fill").value==="hollow"?"both":"filled",c=t.pstyle(r+"-arrow-fill").value,d=t.pstyle("width").pfValue,h=t.pstyle(r+"-arrow-width"),f=h.value==="match-line"?d:h.pfValue;h.units==="%"&&(f*=d);var p=t.pstyle("opacity").value;o===void 0&&(o=p);var v=e.globalCompositeOperation;(o!==1||c==="hollow")&&(e.globalCompositeOperation="destination-out",u.colorFillStyle(e,255,255,255,1),u.colorStrokeStyle(e,255,255,255,1),u.drawArrowShape(t,e,l,d,s,f,n,a,i),e.globalCompositeOperation=v);var y=t.pstyle(r+"-arrow-color").value;u.colorFillStyle(e,y[0],y[1],y[2],o),u.colorStrokeStyle(e,y[0],y[1],y[2],o),u.drawArrowShape(t,e,c,d,s,f,n,a,i)}}},Gt.drawArrowShape=function(e,t,r,n,a,i,o,u,s){var l=this,c=this.usePaths()&&a!=="triangle-cross",d=!1,h,f=t,p={x:o,y:u},v=e.pstyle("arrow-scale").value,y=this.getArrowWidth(n,v),g=l.arrowShapes[a];if(c){var m=l.arrowPathCache=l.arrowPathCache||[],b=vr(a),x=m[b];x==null?(h=t=new Path2D,m[b]=h):(h=t=x,d=!0)}d||(t.beginPath&&t.beginPath(),c?g.draw(t,1,0,{x:0,y:0},1):g.draw(t,y,s,p,n),t.closePath&&t.closePath()),t=f,c&&(t.translate(o,u),t.rotate(s),t.scale(y,y)),(r==="filled"||r==="both")&&(c?t.fill(h):t.fill()),(r==="hollow"||r==="both")&&(t.lineWidth=i/(c?y:1),t.lineJoin="miter",c?t.stroke(h):t.stroke()),c&&(t.scale(1/y,1/y),t.rotate(-s),t.translate(-o,-u))};var rs={};rs.safeDrawImage=function(e,t,r,n,a,i,o,u,s,l){if(!(a<=0||i<=0||s<=0||l<=0))try{e.drawImage(t,r,n,a,i,o,u,s,l)}catch(c){_e(c)}},rs.drawInscribedImage=function(e,t,r,n,a){var i=this,o=r.position(),u=o.x,s=o.y,l=r.cy().style(),c=l.getIndexedStyle.bind(l),d=c(r,"background-fit","value",n),h=c(r,"background-repeat","value",n),f=r.width(),p=r.height(),v=r.padding()*2,y=f+(c(r,"background-width-relative-to","value",n)==="inner"?0:v),g=p+(c(r,"background-height-relative-to","value",n)==="inner"?0:v),m=r._private.rscratch,b=c(r,"background-clip","value",n)==="node",x=c(r,"background-image-opacity","value",n)*a,B=c(r,"background-image-smoothing","value",n),k=r.pstyle("corner-radius").value;k!=="auto"&&(k=r.pstyle("corner-radius").pfValue);var w=t.width||t.cachedW,S=t.height||t.cachedH;(w==null||S==null)&&(document.body.appendChild(t),w=t.cachedW=t.width||t.offsetWidth,S=t.cachedH=t.height||t.offsetHeight,document.body.removeChild(t));var E=w,P=S;if(c(r,"background-width","value",n)!=="auto"&&(E=c(r,"background-width","units",n)==="%"?c(r,"background-width","pfValue",n)*y:c(r,"background-width","pfValue",n)),c(r,"background-height","value",n)!=="auto"&&(P=c(r,"background-height","units",n)==="%"?c(r,"background-height","pfValue",n)*g:c(r,"background-height","pfValue",n)),!(E===0||P===0)){if(d==="contain"){var C=Math.min(y/E,g/P);E*=C,P*=C}else if(d==="cover"){var C=Math.max(y/E,g/P);E*=C,P*=C}var A=u-y/2,D=c(r,"background-position-x","units",n),R=c(r,"background-position-x","pfValue",n);D==="%"?A+=(y-E)*R:A+=R;var _=c(r,"background-offset-x","units",n),I=c(r,"background-offset-x","pfValue",n);_==="%"?A+=(y-E)*I:A+=I;var M=s-g/2,N=c(r,"background-position-y","units",n),V=c(r,"background-position-y","pfValue",n);N==="%"?M+=(g-P)*V:M+=V;var Y=c(r,"background-offset-y","units",n),q=c(r,"background-offset-y","pfValue",n);Y==="%"?M+=(g-P)*q:M+=q,m.pathCache&&(A-=u,M-=s,u=0,s=0);var W=e.globalAlpha;e.globalAlpha=x;var H=i.getImgSmoothing(e),j=!1;B==="no"&&H?(i.setImgSmoothing(e,!1),j=!0):B==="yes"&&!H&&(i.setImgSmoothing(e,!0),j=!0),h==="no-repeat"?(b&&(e.save(),m.pathCache?e.clip(m.pathCache):(i.nodeShapes[i.getNodeShape(r)].draw(e,u,s,y,g,k,m),e.clip())),i.safeDrawImage(e,t,0,0,w,S,A,M,E,P),b&&e.restore()):(e.fillStyle=e.createPattern(t,h),i.nodeShapes[i.getNodeShape(r)].draw(e,u,s,y,g,k,m),e.translate(A,M),e.fill(),e.translate(-A,-M)),e.globalAlpha=W,j&&i.setImgSmoothing(e,H)}};var Pr={};Pr.eleTextBiggerThanMin=function(e,t){if(!t){var r=e.cy().zoom(),n=this.getPixelRatio();t=2**Math.ceil(bi(r*n))}return!(e.pstyle("font-size").pfValue*t<e.pstyle("min-zoomed-font-size").pfValue)},Pr.drawElementText=function(e,t,r,n,a){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this;if(n==null){if(i&&!o.eleTextBiggerThanMin(t))return}else if(n===!1)return;if(t.isNode()){var u=t.pstyle("label");if(!u||!u.value)return;e.textAlign=o.getLabelJustification(t),e.textBaseline="bottom"}else{var s=t.element()._private.rscratch.badLine,l=t.pstyle("label"),c=t.pstyle("source-label"),d=t.pstyle("target-label");if(s||(!l||!l.value)&&(!c||!c.value)&&(!d||!d.value))return;e.textAlign="center",e.textBaseline="bottom"}var h=!r,f;r&&(f=r,e.translate(-f.x1,-f.y1)),a==null?(o.drawText(e,t,null,h,i),t.isEdge()&&(o.drawText(e,t,"source",h,i),o.drawText(e,t,"target",h,i))):o.drawText(e,t,a,h,i),r&&e.translate(f.x1,f.y1)},Pr.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var r=0;r<this.fontCaches.length;r++)if(t=this.fontCaches[r],t.context===e)return t;return t={context:e},this.fontCaches.push(t),t},Pr.setupTextStyle=function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=t.pstyle("font-style").strValue,a=t.pstyle("font-size").pfValue+"px",i=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,u=r?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,s=t.pstyle("text-outline-opacity").value*u,l=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=n+" "+o+" "+a+" "+i,e.lineJoin="round",this.colorFillStyle(e,l[0],l[1],l[2],u),this.colorStrokeStyle(e,c[0],c[1],c[2],s)};function fy(e,t,r,n,a){var i=Math.min(n,a)/2,o=t+n/2,u=r+a/2;e.beginPath(),e.arc(o,u,i,0,Math.PI*2),e.closePath()}function dd(e,t,r,n,a){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,o=Math.min(i,n/2,a/2);e.beginPath(),e.moveTo(t+o,r),e.lineTo(t+n-o,r),e.quadraticCurveTo(t+n,r,t+n,r+o),e.lineTo(t+n,r+a-o),e.quadraticCurveTo(t+n,r+a,t+n-o,r+a),e.lineTo(t+o,r+a),e.quadraticCurveTo(t,r+a,t,r+a-o),e.lineTo(t,r+o),e.quadraticCurveTo(t,r,t+o,r),e.closePath()}Pr.getTextAngle=function(e,t){var r,n=e._private.rscratch,a=t?t+"-":"",i=e.pstyle(a+"text-rotation");if(i.strValue==="autorotate"){var o=wt(n,"labelAngle",t);r=e.isEdge()?o:0}else r=i.strValue==="none"?0:i.pfValue;return r},Pr.drawText=function(e,t,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=t._private.rscratch,o=a?t.effectiveOpacity():1;if(!(a&&(o===0||t.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=wt(i,"labelX",r),s=wt(i,"labelY",r),l,c,d=this.getLabelText(t,r);if(d!=null&&d!==""&&!isNaN(u)&&!isNaN(s)){this.setupTextStyle(e,t,a);var h=r?r+"-":"",f=wt(i,"labelWidth",r),p=wt(i,"labelHeight",r),v=t.pstyle(h+"text-margin-x").pfValue,y=t.pstyle(h+"text-margin-y").pfValue,g=t.isEdge(),m=t.pstyle("text-halign").value,b=t.pstyle("text-valign").value;g&&(m="center",b="center"),u+=v,s+=y;var x=n?this.getTextAngle(t,r):0;switch(x!==0&&(l=u,c=s,e.translate(l,c),e.rotate(x),u=0,s=0),b){case"top":break;case"center":s+=p/2;break;case"bottom":s+=p;break}var B=t.pstyle("text-background-opacity").value,k=t.pstyle("text-border-opacity").value,w=t.pstyle("text-border-width").pfValue,S=t.pstyle("text-background-padding").pfValue,E=t.pstyle("text-background-shape").strValue,P=E==="round-rectangle"||E==="roundrectangle",C=E==="circle",A=2;if(B>0||w>0&&k>0){var D=e.fillStyle,R=e.strokeStyle,_=e.lineWidth,I=t.pstyle("text-background-color").value,M=t.pstyle("text-border-color").value,N=t.pstyle("text-border-style").value,V=B>0,Y=w>0&&k>0,q=u-S;switch(m){case"left":q-=f;break;case"center":q-=f/2;break}var W=s-p-S,H=f+2*S,j=p+2*S;if(V&&(e.fillStyle=`rgba(${I[0]},${I[1]},${I[2]},${B*o})`),Y&&(e.strokeStyle=`rgba(${M[0]},${M[1]},${M[2]},${k*o})`,e.lineWidth=w,e.setLineDash))switch(N){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=w/4,e.setLineDash([]);break;case"solid":default:e.setLineDash([]);break}if(P?(e.beginPath(),dd(e,q,W,H,j,A)):C?(e.beginPath(),fy(e,q,W,H,j)):(e.beginPath(),e.rect(q,W,H,j)),V&&e.fill(),Y&&e.stroke(),Y&&N==="double"){var $=w/2;e.beginPath(),P?dd(e,q+$,W+$,H-2*$,j-2*$,A):e.rect(q+$,W+$,H-2*$,j-2*$),e.stroke()}e.fillStyle=D,e.strokeStyle=R,e.lineWidth=_,e.setLineDash&&e.setLineDash([])}var J=2*t.pstyle("text-outline-width").pfValue;if(J>0&&(e.lineWidth=J),t.pstyle("text-wrap").value==="wrap"){var Q=wt(i,"labelWrapCachedLines",r),O=wt(i,"labelLineHeight",r),z=f/2,F=this.getLabelJustification(t);switch(F==="auto"||(m==="left"?F==="left"?u+=-f:F==="center"&&(u+=-z):m==="center"?F==="left"?u+=-z:F==="right"&&(u+=z):m==="right"&&(F==="center"?u+=z:F==="right"&&(u+=f))),b){case"top":s-=(Q.length-1)*O;break;case"center":case"bottom":s-=(Q.length-1)*O;break}for(var Z=0;Z<Q.length;Z++)J>0&&e.strokeText(Q[Z],u,s),e.fillText(Q[Z],u,s),s+=O}else J>0&&e.strokeText(d,u,s),e.fillText(d,u,s);x!==0&&(e.rotate(-x),e.translate(-l,-c))}}};var fr={};fr.drawNode=function(e,t,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,u,s,l=t._private,c=l.rscratch,d=t.position();if(!(!ee(d.x)||!ee(d.y))&&!(i&&!t.visible())){var h=i?t.effectiveOpacity():1,f=o.usePaths(),p,v=!1,y=t.padding();u=t.width()+2*y,s=t.height()+2*y;var g;r&&(g=r,e.translate(-g.x1,-g.y1));for(var m=t.pstyle("background-image").value,b=Array(m.length),x=Array(m.length),B=0,k=0;k<m.length;k++){var w=m[k];if(b[k]=w!=null&&w!=="none"){var S=t.cy().style().getIndexedStyle(t,"background-image-crossorigin","value",k);B++,x[k]=o.getCachedImage(w,S,function(){l.backgroundTimestamp=Date.now(),t.emitAndNotify("background")})}}var E=t.pstyle("background-blacken").value,P=t.pstyle("border-width").pfValue,C=t.pstyle("background-opacity").value*h,A=t.pstyle("border-color").value,D=t.pstyle("border-style").value,R=t.pstyle("border-join").value,_=t.pstyle("border-cap").value,I=t.pstyle("border-position").value,M=t.pstyle("border-dash-pattern").pfValue,N=t.pstyle("border-dash-offset").pfValue,V=t.pstyle("border-opacity").value*h,Y=t.pstyle("outline-width").pfValue,q=t.pstyle("outline-color").value,W=t.pstyle("outline-style").value,H=t.pstyle("outline-opacity").value*h,j=t.pstyle("outline-offset").value,$=t.pstyle("corner-radius").value;$!=="auto"&&($=t.pstyle("corner-radius").pfValue);var J=function(){var ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:C;o.eleFillStyle(e,t,ue)},Q=function(){var ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:V;o.colorStrokeStyle(e,A[0],A[1],A[2],ue)},O=function(){var ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:H;o.colorStrokeStyle(e,q[0],q[1],q[2],ue)},z=function(ue,me,ge,je){var Ye=o.nodePathCache=o.nodePathCache||[],T=Ks(ge==="polygon"?ge+","+je.join(","):ge,""+me,""+ue,""+$),L=Ye[T],X,U=!1;return L==null?(X=new Path2D,Ye[T]=c.pathCache=X):(X=L,U=!0,c.pathCache=X),{path:X,cacheHit:U}},F=t.pstyle("shape").strValue,Z=t.pstyle("shape-polygon-points").pfValue;if(f){e.translate(d.x,d.y);var oe=z(u,s,F,Z);p=oe.path,v=oe.cacheHit}var fe=function(){if(!v){var ue=d;f&&(ue={x:0,y:0}),o.nodeShapes[o.getNodeShape(t)].draw(p||e,ue.x,ue.y,u,s,$,c)}f?e.fill(p):e.fill()},be=function(){for(var ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:h,me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,ge=l.backgrounding,je=0,Ye=0;Ye<x.length;Ye++){var T=t.cy().style().getIndexedStyle(t,"background-image-containment","value",Ye);if(me&&T==="over"||!me&&T==="inside"){je++;continue}b[Ye]&&x[Ye].complete&&!x[Ye].error&&(je++,o.drawInscribedImage(e,x[Ye],t,Ye,ue))}l.backgrounding=je!==B,ge!==l.backgrounding&&t.updateStyle(!1)},Le=function(){var ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:h;o.hasPie(t)&&(o.drawPie(e,t,me),ue&&(f||o.nodeShapes[o.getNodeShape(t)].draw(e,d.x,d.y,u,s,$,c)))},G=function(){var ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:h;o.hasStripe(t)&&(e.save(),f?e.clip(c.pathCache):(o.nodeShapes[o.getNodeShape(t)].draw(e,d.x,d.y,u,s,$,c),e.clip()),o.drawStripe(e,t,me),e.restore(),ue&&(f||o.nodeShapes[o.getNodeShape(t)].draw(e,d.x,d.y,u,s,$,c)))},le=function(){var ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:h,me=(E>0?E:-E)*ue,ge=E>0?0:255;E!==0&&(o.colorFillStyle(e,ge,ge,ge,me),f?e.fill(p):e.fill())},se=function(){if(P>0){if(e.lineWidth=P,e.lineCap=_,e.lineJoin=R,e.setLineDash)switch(D){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash(M),e.lineDashOffset=N;break;case"solid":case"double":e.setLineDash([]);break}if(I!=="center"){if(e.save(),e.lineWidth*=2,I==="inside")f?e.clip(p):e.clip();else{var ue=new Path2D;ue.rect(-u/2-P,-s/2-P,u+2*P,s+2*P),ue.addPath(p),e.clip(ue,"evenodd")}f?e.stroke(p):e.stroke(),e.restore()}else f?e.stroke(p):e.stroke();if(D==="double"){e.lineWidth=P/3;var me=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",f?e.stroke(p):e.stroke(),e.globalCompositeOperation=me}e.setLineDash&&e.setLineDash([])}},ye=function(){if(Y>0){if(e.lineWidth=Y,e.lineCap="butt",e.setLineDash)switch(W){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([]);break}var ue=d;f&&(ue={x:0,y:0});var me=o.getNodeShape(t),ge=P;I==="inside"&&(ge=0),I==="outside"&&(ge*=2);var je=(u+ge+(Y+j))/u,Ye=(s+ge+(Y+j))/s,T=u*je,L=s*Ye,X=o.nodeShapes[me].points,U;if(f&&(U=z(T,L,me,X).path),me==="ellipse")o.drawEllipsePath(U||e,ue.x,ue.y,T,L);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(me)){var K=0,te=0,re=0;me==="round-diamond"?K=(ge+j+Y)*1.4:me==="round-heptagon"?(K=(ge+j+Y)*1.075,re=-(ge/2+j+Y)/35):me==="round-hexagon"?K=(ge+j+Y)*1.12:me==="round-pentagon"?(K=(ge+j+Y)*1.13,re=-(ge/2+j+Y)/15):me==="round-tag"?(K=(ge+j+Y)*1.12,te=(ge/2+Y+j)*.07):me==="round-triangle"&&(K=(ge+j+Y)*(Math.PI/2),re=-(ge+j/2+Y)/Math.PI),K!==0&&(je=(u+K)/u,T=u*je,["round-hexagon","round-tag"].includes(me)||(Ye=(s+K)/s,L=s*Ye)),$=$==="auto"?hl(T,L):$;for(var de=T/2,ie=L/2,Ee=$+(ge+Y+j)/2,Re=Array(X.length/2),ae=Array(X.length/2),ve=0;ve<X.length/2;ve++)Re[ve]={x:ue.x+te+de*X[ve*2],y:ue.y+re+ie*X[ve*2+1]};var ke,Oe,ct,He,it=Re.length;for(Oe=Re[it-1],ke=0;ke<it;ke++)ct=Re[ke%it],He=Re[(ke+1)%it],ae[ke]=Zo(Oe,ct,He,Ee),Oe=ct,ct=He;o.drawRoundPolygonPath(U||e,ue.x+te,ue.y+re,u*je,s*Ye,X,ae)}else if(["roundrectangle","round-rectangle"].includes(me))$=$==="auto"?ar(T,L):$,o.drawRoundRectanglePath(U||e,ue.x,ue.y,T,L,$+(ge+Y+j)/2);else if(["cutrectangle","cut-rectangle"].includes(me))$=$==="auto"?Ti():$,o.drawCutRectanglePath(U||e,ue.x,ue.y,T,L,null,$+(ge+Y+j)/4);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(me))$=$==="auto"?ar(T,L):$,o.drawBottomRoundRectanglePath(U||e,ue.x,ue.y,T,L,$+(ge+Y+j)/2);else if(me==="barrel")o.drawBarrelPath(U||e,ue.x,ue.y,T,L);else if(me.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(me)){var $e=(ge+Y+j)/u;X=ta(ra(X,$e)),o.drawPolygonPath(U||e,ue.x,ue.y,u,s,X)}else{var tt=(ge+Y+j)/u;X=ta(ra(X,-tt)),o.drawPolygonPath(U||e,ue.x,ue.y,u,s,X)}if(f?e.stroke(U):e.stroke(),W==="double"){e.lineWidth=ge/3;var kt=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",f?e.stroke(U):e.stroke(),e.globalCompositeOperation=kt}e.setLineDash&&e.setLineDash([])}},pe=function(){a&&o.drawNodeOverlay(e,t,d,u,s)},Te=function(){a&&o.drawNodeUnderlay(e,t,d,u,s)},xe=function(){o.drawElementText(e,t,null,n)};if(t.pstyle("ghost").value==="yes"){var Ce=t.pstyle("ghost-offset-x").pfValue,Pe=t.pstyle("ghost-offset-y").pfValue,Ie=t.pstyle("ghost-opacity").value,Ae=Ie*h;e.translate(Ce,Pe),O(),ye(),J(Ie*C),fe(),be(Ae,!0),Q(Ie*V),se(),Le(E!==0||P!==0),G(E!==0||P!==0),be(Ae,!1),le(Ae),e.translate(-Ce,-Pe)}f&&e.translate(-d.x,-d.y),Te(),f&&e.translate(d.x,d.y),O(),ye(),J(),fe(),be(h,!0),Q(),se(),Le(E!==0||P!==0),G(E!==0||P!==0),be(h,!1),le(),f&&e.translate(-d.x,-d.y),xe(),pe(),r&&e.translate(g.x1,g.y1)}};var hd=function(e){if(!["overlay","underlay"].includes(e))throw Error("Invalid state");return function(t,r,n,a,i){var o=this;if(r.visible()){var u=r.pstyle(`${e}-padding`).pfValue,s=r.pstyle(`${e}-opacity`).value,l=r.pstyle(`${e}-color`).value,c=r.pstyle(`${e}-shape`).value,d=r.pstyle(`${e}-corner-radius`).value;if(s>0){if(n||(n=r.position()),a==null||i==null){var h=r.padding();a=r.width()+2*h,i=r.height()+2*h}o.colorFillStyle(t,l[0],l[1],l[2],s),o.nodeShapes[c].draw(t,n.x,n.y,a+u*2,i+u*2,d),t.fill()}}}};fr.drawNodeOverlay=hd("overlay"),fr.drawNodeUnderlay=hd("underlay"),fr.hasPie=function(e){return e=e[0],e._private.hasPie},fr.hasStripe=function(e){return e=e[0],e._private.hasStripe},fr.drawPie=function(e,t,r,n){t=t[0],n||(n=t.position());var a=t.cy().style(),i=t.pstyle("pie-size"),o=t.pstyle("pie-hole"),u=t.pstyle("pie-start-angle").pfValue,s=n.x,l=n.y,c=t.width(),d=t.height(),h=Math.min(c,d)/2,f,p=0;if(this.usePaths()&&(s=0,l=0),i.units==="%"?h*=i.pfValue:i.pfValue!==void 0&&(h=i.pfValue/2),o.units==="%"?f=h*o.pfValue:o.pfValue!==void 0&&(f=o.pfValue/2),!(f>=h))for(var v=1;v<=a.pieBackgroundN;v++){var y=t.pstyle("pie-"+v+"-background-size").value,g=t.pstyle("pie-"+v+"-background-color").value,m=t.pstyle("pie-"+v+"-background-opacity").value*r,b=y/100;b+p>1&&(b=1-p);var x=1.5*Math.PI+2*Math.PI*p;x+=u;var B=2*Math.PI*b,k=x+B;y===0||p>=1||p+b>1||(f===0?(e.beginPath(),e.moveTo(s,l),e.arc(s,l,h,x,k),e.closePath()):(e.beginPath(),e.arc(s,l,h,x,k),e.arc(s,l,f,k,x,!0),e.closePath()),this.colorFillStyle(e,g[0],g[1],g[2],m),e.fill(),p+=b)}},fr.drawStripe=function(e,t,r,n){t=t[0],n||(n=t.position());var a=t.cy().style(),i=n.x,o=n.y,u=t.width(),s=t.height(),l=0,c=this.usePaths();e.save();var d=t.pstyle("stripe-direction").value,h=t.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":e.rotate(-Math.PI/2);break}var f=u,p=s;h.units==="%"?(f*=h.pfValue,p*=h.pfValue):h.pfValue!==void 0&&(f=h.pfValue,p=h.pfValue),c&&(i=0,o=0),o-=f/2,i-=p/2;for(var v=1;v<=a.stripeBackgroundN;v++){var y=t.pstyle("stripe-"+v+"-background-size").value,g=t.pstyle("stripe-"+v+"-background-color").value,m=t.pstyle("stripe-"+v+"-background-opacity").value*r,b=y/100;b+l>1&&(b=1-l),!(y===0||l>=1||l+b>1)&&(e.beginPath(),e.rect(i,o+p*l,f,p*b),e.closePath(),this.colorFillStyle(e,g[0],g[1],g[2],m),e.fill(),l+=b)}e.restore()};var yt={},py=100;yt.getPixelRatio=function(){var e=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var t=this.cy.window(),r=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(t.devicePixelRatio||1)/r},yt.paintCache=function(e){for(var t=this.paintCaches=this.paintCaches||[],r=!0,n,a=0;a<t.length;a++)if(n=t[a],n.context===e){r=!1;break}return r&&(n={context:e},t.push(n)),n},yt.createGradientStyleFor=function(e,t,r,n,a){var i,o=this.usePaths(),u=r.pstyle(t+"-gradient-stop-colors").value,s=r.pstyle(t+"-gradient-stop-positions").pfValue;if(n==="radial-gradient")if(r.isEdge()){var l=r.sourceEndpoint(),c=r.targetEndpoint(),d=r.midpoint(),h=yr(l,d),f=yr(c,d);i=e.createRadialGradient(d.x,d.y,0,d.x,d.y,Math.max(h,f))}else{var p=o?{x:0,y:0}:r.position(),v=r.paddedWidth(),y=r.paddedHeight();i=e.createRadialGradient(p.x,p.y,0,p.x,p.y,Math.max(v,y))}else if(r.isEdge()){var g=r.sourceEndpoint(),m=r.targetEndpoint();i=e.createLinearGradient(g.x,g.y,m.x,m.y)}else{var b=o?{x:0,y:0}:r.position(),x=r.paddedWidth(),B=r.paddedHeight(),k=x/2,w=B/2;switch(r.pstyle("background-gradient-direction").value){case"to-bottom":i=e.createLinearGradient(b.x,b.y-w,b.x,b.y+w);break;case"to-top":i=e.createLinearGradient(b.x,b.y+w,b.x,b.y-w);break;case"to-left":i=e.createLinearGradient(b.x+k,b.y,b.x-k,b.y);break;case"to-right":i=e.createLinearGradient(b.x-k,b.y,b.x+k,b.y);break;case"to-bottom-right":case"to-right-bottom":i=e.createLinearGradient(b.x-k,b.y-w,b.x+k,b.y+w);break;case"to-top-right":case"to-right-top":i=e.createLinearGradient(b.x-k,b.y+w,b.x+k,b.y-w);break;case"to-bottom-left":case"to-left-bottom":i=e.createLinearGradient(b.x+k,b.y-w,b.x-k,b.y+w);break;case"to-top-left":case"to-left-top":i=e.createLinearGradient(b.x+k,b.y+w,b.x-k,b.y-w);break}}if(!i)return null;for(var S=s.length===u.length,E=u.length,P=0;P<E;P++)i.addColorStop(S?s[P]:P/(E-1),"rgba("+u[P][0]+","+u[P][1]+","+u[P][2]+","+a+")");return i},yt.gradientFillStyle=function(e,t,r,n){var a=this.createGradientStyleFor(e,"background",t,r,n);if(!a)return null;e.fillStyle=a},yt.colorFillStyle=function(e,t,r,n,a){e.fillStyle="rgba("+t+","+r+","+n+","+a+")"},yt.eleFillStyle=function(e,t,r){var n=t.pstyle("background-fill").value;if(n==="linear-gradient"||n==="radial-gradient")this.gradientFillStyle(e,t,n,r);else{var a=t.pstyle("background-color").value;this.colorFillStyle(e,a[0],a[1],a[2],r)}},yt.gradientStrokeStyle=function(e,t,r,n){var a=this.createGradientStyleFor(e,"line",t,r,n);if(!a)return null;e.strokeStyle=a},yt.colorStrokeStyle=function(e,t,r,n,a){e.strokeStyle="rgba("+t+","+r+","+n+","+a+")"},yt.eleStrokeStyle=function(e,t,r){var n=t.pstyle("line-fill").value;if(n==="linear-gradient"||n==="radial-gradient")this.gradientStrokeStyle(e,t,n,r);else{var a=t.pstyle("line-color").value;this.colorStrokeStyle(e,a[0],a[1],a[2],r)}},yt.matchCanvasSize=function(e){var t=this,r=t.data,n=t.findContainerClientCoords(),a=n[2],i=n[3],o=t.getPixelRatio(),u=t.motionBlurPxRatio;(e===t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE]||e===t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG])&&(o=u);var s=a*o,l=i*o,c;if(!(s===t.canvasWidth&&l===t.canvasHeight)){t.fontCaches=null;var d=r.canvasContainer;d.style.width=a+"px",d.style.height=i+"px";for(var h=0;h<t.CANVAS_LAYERS;h++)c=r.canvases[h],c.width=s,c.height=l,c.style.width=a+"px",c.style.height=i+"px";for(var h=0;h<t.BUFFER_COUNT;h++)c=r.bufferCanvases[h],c.width=s,c.height=l,c.style.width=a+"px",c.style.height=i+"px";t.textureMult=1,o<=1&&(c=r.bufferCanvases[t.TEXTURE_BUFFER],t.textureMult=2,c.width=s*t.textureMult,c.height=l*t.textureMult),t.canvasWidth=s,t.canvasHeight=l,t.pixelRatio=o}},yt.renderTo=function(e,t,r,n){this.render({forcedContext:e,forcedZoom:t,forcedPan:r,drawAllLayers:!0,forcedPxRatio:n})},yt.clearCanvas=function(){var e=this,t=e.data;function r(n){n.clearRect(0,0,e.canvasWidth,e.canvasHeight)}r(t.contexts[e.NODE]),r(t.contexts[e.DRAG])},yt.render=function(e){var t=this;e||(e=tl());var r=t.cy,n=e.forcedContext,a=e.drawAllLayers,i=e.drawOnlyNodeLayer,o=e.forcedZoom,u=e.forcedPan,s=e.forcedPxRatio===void 0?this.getPixelRatio():e.forcedPxRatio,l=t.data,c=l.canvasNeedsRedraw,d=t.textureOnViewport&&!n&&(t.pinching||t.hoverData.dragging||t.swipePanning||t.data.wheelZooming),h=e.motionBlur===void 0?t.motionBlur:e.motionBlur,f=t.motionBlurPxRatio,p=r.hasCompoundNodes(),v=t.hoverData.draggingEles,y=!!(t.hoverData.selecting||t.touchData.selecting);h=h&&!n&&t.motionBlurEnabled&&!y;var g=h;n||(t.prevPxRatio!==s&&(t.invalidateContainerClientCoordsCache(),t.matchCanvasSize(t.container),t.redrawHint("eles",!0),t.redrawHint("drag",!0)),t.prevPxRatio=s),!n&&t.motionBlurTimeout&&clearTimeout(t.motionBlurTimeout),h&&(t.mbFrames??(t.mbFrames=0),t.mbFrames++,t.mbFrames<3&&(g=!1),t.mbFrames>t.minMbLowQualFrames&&(t.motionBlurPxRatio=t.mbPxRBlurry)),t.clearingMotionBlur&&(t.motionBlurPxRatio=1),t.textureDrawLastFrame&&!d&&(c[t.NODE]=!0,c[t.SELECT_BOX]=!0);var m=r.style(),b=r.zoom(),x=o===void 0?b:o,B=r.pan(),k={x:B.x,y:B.y},w={zoom:b,pan:{x:B.x,y:B.y}},S=t.prevViewport;!(S===void 0||w.zoom!==S.zoom||w.pan.x!==S.pan.x||w.pan.y!==S.pan.y)&&!(v&&!p)&&(t.motionBlurPxRatio=1),u&&(k=u),x*=s,k.x*=s,k.y*=s;var E=t.getCachedZSortedEles();function P(Q,O,z,F,Z){var oe=Q.globalCompositeOperation;Q.globalCompositeOperation="destination-out",t.colorFillStyle(Q,255,255,255,t.motionBlurTransparency),Q.fillRect(O,z,F,Z),Q.globalCompositeOperation=oe}function C(Q,O){var z,F,Z,oe;!t.clearingMotionBlur&&(Q===l.bufferContexts[t.MOTIONBLUR_BUFFER_NODE]||Q===l.bufferContexts[t.MOTIONBLUR_BUFFER_DRAG])?(z={x:B.x*f,y:B.y*f},F=b*f,Z=t.canvasWidth*f,oe=t.canvasHeight*f):(z=k,F=x,Z=t.canvasWidth,oe=t.canvasHeight),Q.setTransform(1,0,0,1,0,0),O==="motionBlur"?P(Q,0,0,Z,oe):!n&&(O===void 0||O)&&Q.clearRect(0,0,Z,oe),a||(Q.translate(z.x,z.y),Q.scale(F,F)),u&&Q.translate(u.x,u.y),o&&Q.scale(o,o)}if(d||(t.textureDrawLastFrame=!1),d){if(t.textureDrawLastFrame=!0,!t.textureCache){t.textureCache={},t.textureCache.bb=r.mutableElements().boundingBox(),t.textureCache.texture=t.data.bufferCanvases[t.TEXTURE_BUFFER];var A=t.data.bufferContexts[t.TEXTURE_BUFFER];A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,t.canvasWidth*t.textureMult,t.canvasHeight*t.textureMult),t.render({forcedContext:A,drawOnlyNodeLayer:!0,forcedPxRatio:s*t.textureMult});var w=t.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:t.canvasWidth,height:t.canvasHeight};w.mpan={x:(0-w.pan.x)/w.zoom,y:(0-w.pan.y)/w.zoom}}c[t.DRAG]=!1,c[t.NODE]=!1;var D=l.contexts[t.NODE],R=t.textureCache.texture,w=t.textureCache.viewport;D.setTransform(1,0,0,1,0,0),h?P(D,0,0,w.width,w.height):D.clearRect(0,0,w.width,w.height);var _=m.core("outside-texture-bg-color").value,I=m.core("outside-texture-bg-opacity").value;t.colorFillStyle(D,_[0],_[1],_[2],I),D.fillRect(0,0,w.width,w.height);var b=r.zoom();C(D,!1),D.clearRect(w.mpan.x,w.mpan.y,w.width/w.zoom/s,w.height/w.zoom/s),D.drawImage(R,w.mpan.x,w.mpan.y,w.width/w.zoom/s,w.height/w.zoom/s)}else t.textureOnViewport&&!n&&(t.textureCache=null);var M=r.extent(),N=t.pinching||t.hoverData.dragging||t.swipePanning||t.data.wheelZooming||t.hoverData.draggingEles||t.cy.animated(),V=t.hideEdgesOnViewport&&N,Y=[];if(Y[t.NODE]=!c[t.NODE]&&h&&!t.clearedForMotionBlur[t.NODE]||t.clearingMotionBlur,Y[t.NODE]&&(t.clearedForMotionBlur[t.NODE]=!0),Y[t.DRAG]=!c[t.DRAG]&&h&&!t.clearedForMotionBlur[t.DRAG]||t.clearingMotionBlur,Y[t.DRAG]&&(t.clearedForMotionBlur[t.DRAG]=!0),c[t.NODE]||a||i||Y[t.NODE]){var q=h&&!Y[t.NODE]&&f!==1,D=n||(q?t.data.bufferContexts[t.MOTIONBLUR_BUFFER_NODE]:l.contexts[t.NODE]);C(D,h&&!q?"motionBlur":void 0),V?t.drawCachedNodes(D,E.nondrag,s,M):t.drawLayeredElements(D,E.nondrag,s,M),t.debug&&t.drawDebugPoints(D,E.nondrag),!a&&!h&&(c[t.NODE]=!1)}if(!i&&(c[t.DRAG]||a||Y[t.DRAG])){var q=h&&!Y[t.DRAG]&&f!==1,D=n||(q?t.data.bufferContexts[t.MOTIONBLUR_BUFFER_DRAG]:l.contexts[t.DRAG]);C(D,h&&!q?"motionBlur":void 0),V?t.drawCachedNodes(D,E.drag,s,M):t.drawCachedElements(D,E.drag,s,M),t.debug&&t.drawDebugPoints(D,E.drag),!a&&!h&&(c[t.DRAG]=!1)}if(this.drawSelectionRectangle(e,C),h&&f!==1){var W=l.contexts[t.NODE],H=t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE],j=l.contexts[t.DRAG],$=t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG],J=function(Q,O,z){Q.setTransform(1,0,0,1,0,0),z||!g?Q.clearRect(0,0,t.canvasWidth,t.canvasHeight):P(Q,0,0,t.canvasWidth,t.canvasHeight);var F=f;Q.drawImage(O,0,0,t.canvasWidth*F,t.canvasHeight*F,0,0,t.canvasWidth,t.canvasHeight)};(c[t.NODE]||Y[t.NODE])&&(J(W,H,Y[t.NODE]),c[t.NODE]=!1),(c[t.DRAG]||Y[t.DRAG])&&(J(j,$,Y[t.DRAG]),c[t.DRAG]=!1)}t.prevViewport=w,t.clearingMotionBlur&&(t.clearingMotionBlur=!1,t.motionBlurCleared=!0,t.motionBlur=!0),h&&(t.motionBlurTimeout=setTimeout(function(){t.motionBlurTimeout=null,t.clearedForMotionBlur[t.NODE]=!1,t.clearedForMotionBlur[t.DRAG]=!1,t.motionBlur=!1,t.clearingMotionBlur=!d,t.mbFrames=0,c[t.NODE]=!0,c[t.DRAG]=!0,t.redraw()},py)),n||r.emit("render")};var Xa;yt.drawSelectionRectangle=function(e,t){var r=this,n=r.cy,a=r.data,i=n.style(),o=e.drawOnlyNodeLayer,u=e.drawAllLayers,s=a.canvasNeedsRedraw,l=e.forcedContext;if(r.showFps||!o&&s[r.SELECT_BOX]&&!u){var c=l||a.contexts[r.SELECT_BOX];if(t(c),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),h=i.core("selection-box-border-width").value/d;c.lineWidth=h,c.fillStyle="rgba("+i.core("selection-box-color").value[0]+","+i.core("selection-box-color").value[1]+","+i.core("selection-box-color").value[2]+","+i.core("selection-box-opacity").value+")",c.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),h>0&&(c.strokeStyle="rgba("+i.core("selection-box-border-color").value[0]+","+i.core("selection-box-border-color").value[1]+","+i.core("selection-box-border-color").value[2]+","+i.core("selection-box-opacity").value+")",c.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(a.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),f=a.bgActivePosistion;c.fillStyle="rgba("+i.core("active-bg-color").value[0]+","+i.core("active-bg-color").value[1]+","+i.core("active-bg-color").value[2]+","+i.core("active-bg-opacity").value+")",c.beginPath(),c.arc(f.x,f.y,i.core("active-bg-size").pfValue/d,0,2*Math.PI),c.fill()}var p=r.lastRedrawTime;if(r.showFps&&p){p=Math.round(p);var v=Math.round(1e3/p),y="1 frame = "+p+" ms = "+v+" fps";c.setTransform(1,0,0,1,0,0),c.fillStyle="rgba(255, 0, 0, 0.75)",c.strokeStyle="rgba(255, 0, 0, 0.75)",c.font="30px Arial",Xa||(Xa=c.measureText(y).actualBoundingBoxAscent),c.fillText(y,0,Xa),c.strokeRect(0,Xa+10,250,20),c.fillRect(0,Xa+10,250*Math.min(v/60,1),20)}u||(s[r.SELECT_BOX]=!1)}};function fd(e,t,r){var n=e.createShader(t);if(e.shaderSource(n,r),e.compileShader(n),!e.getShaderParameter(n,e.COMPILE_STATUS))throw Error(e.getShaderInfoLog(n));return n}function gy(e,t,r){var n=fd(e,e.VERTEX_SHADER,t),a=fd(e,e.FRAGMENT_SHADER,r),i=e.createProgram();if(e.attachShader(i,n),e.attachShader(i,a),e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))throw Error("Could not initialize shaders");return i}function vy(e,t,r){r===void 0&&(r=t);var n=e.makeOffscreenCanvas(t,r),a=n.context=n.getContext("2d");return n.clear=function(){return a.clearRect(0,0,n.width,n.height)},n.clear(),n}function ns(e){var t=e.pixelRatio,r=e.cy.zoom(),n=e.cy.pan();return{zoom:r*t,pan:{x:n.x*t,y:n.y*t}}}function yy(e){var t=e.pixelRatio;return e.cy.zoom()*t}function my(e,t,r,n,a){var i=n*r+t.x,o=a*r+t.y;return o=Math.round(e.canvasHeight-o),[i,o]}function by(e){return e.pstyle("background-fill").value!=="solid"||e.pstyle("background-image").strValue!=="none"?!1:e.pstyle("border-width").value===0||e.pstyle("border-opacity").value===0?!0:e.pstyle("border-style").value==="solid"}function xy(e,t){if(e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Br(e,t,r){var n=e[0]/255,a=e[1]/255,i=e[2]/255,o=t,u=r||[,,,,];return u[0]=n*o,u[1]=a*o,u[2]=i*o,u[3]=o,u}function Zr(e,t){var r=t||[,,,,];return r[0]=(e>>0&255)/255,r[1]=(e>>8&255)/255,r[2]=(e>>16&255)/255,r[3]=(e>>24&255)/255,r}function wy(e){return e[0]+(e[1]<<8)+(e[2]<<16)+(e[3]<<24)}function Ey(e,t){var r=e.createTexture();return r.buffer=function(n){e.bindTexture(e.TEXTURE_2D,r),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR_MIPMAP_NEAREST),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n),e.generateMipmap(e.TEXTURE_2D),e.bindTexture(e.TEXTURE_2D,null)},r.deleteTexture=function(){e.deleteTexture(r)},r}function pd(e,t){switch(t){case"float":return[1,e.FLOAT,4];case"vec2":return[2,e.FLOAT,4];case"vec3":return[3,e.FLOAT,4];case"vec4":return[4,e.FLOAT,4];case"int":return[1,e.INT,4];case"ivec2":return[2,e.INT,4]}}function gd(e,t,r){switch(t){case e.FLOAT:return new Float32Array(r);case e.INT:return new Int32Array(r)}}function ky(e,t,r,n,a,i){switch(t){case e.FLOAT:return new Float32Array(r.buffer,i*n,a);case e.INT:return new Int32Array(r.buffer,i*n,a)}}function Ty(e,t,r,n){var a=Ge(pd(e,t),2),i=a[0],o=a[1],u=gd(e,o,n),s=e.createBuffer();return e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,u,e.STATIC_DRAW),o===e.FLOAT?e.vertexAttribPointer(r,i,o,!1,0,0):o===e.INT&&e.vertexAttribIPointer(r,i,o,0,0),e.enableVertexAttribArray(r),e.bindBuffer(e.ARRAY_BUFFER,null),s}function Xt(e,t,r,n){var a=Ge(pd(e,r),3),i=a[0],o=a[1],u=a[2],s=gd(e,o,t*i),l=i*u,c=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,c),e.bufferData(e.ARRAY_BUFFER,t*l,e.DYNAMIC_DRAW),e.enableVertexAttribArray(n),o===e.FLOAT?e.vertexAttribPointer(n,i,o,!1,l,0):o===e.INT&&e.vertexAttribIPointer(n,i,o,l,0),e.vertexAttribDivisor(n,1),e.bindBuffer(e.ARRAY_BUFFER,null);for(var d=Array(t),h=0;h<t;h++)d[h]=ky(e,o,s,l,i,h);return c.dataArray=s,c.stride=l,c.size=i,c.getView=function(f){return d[f]},c.setPoint=function(f,p,v){var y=d[f];y[0]=p,y[1]=v},c.bufferSubData=function(f){e.bindBuffer(e.ARRAY_BUFFER,c),f?e.bufferSubData(e.ARRAY_BUFFER,0,s,0,f*i):e.bufferSubData(e.ARRAY_BUFFER,0,s)},c}function Cy(e,t,r){for(var n=9,a=new Float32Array(t*n),i=Array(t),o=0;o<t;o++){var u=o*n*4;i[o]=new Float32Array(a.buffer,u,n)}var s=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,a.byteLength,e.DYNAMIC_DRAW);for(var l=0;l<3;l++){var c=r+l;e.enableVertexAttribArray(c),e.vertexAttribPointer(c,3,e.FLOAT,!1,36,l*12),e.vertexAttribDivisor(c,1)}return e.bindBuffer(e.ARRAY_BUFFER,null),s.getMatrixView=function(d){return i[d]},s.setData=function(d,h){i[h].set(d,0)},s.bufferSubData=function(){e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferSubData(e.ARRAY_BUFFER,0,a)},s}function Py(e){var t=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,t);var r=e.createTexture();return e.bindTexture(e.TEXTURE_2D,r),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0),e.bindFramebuffer(e.FRAMEBUFFER,null),t.setFramebufferAttachmentSizes=function(n,a){e.bindTexture(e.TEXTURE_2D,r),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,a,0,e.RGBA,e.UNSIGNED_BYTE,null)},t}var vd=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});function as(){var e=new vd(9);return vd!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function yd(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function By(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],u=t[4],s=t[5],l=t[6],c=t[7],d=t[8],h=r[0],f=r[1],p=r[2],v=r[3],y=r[4],g=r[5],m=r[6],b=r[7],x=r[8];return e[0]=h*n+f*o+p*l,e[1]=h*a+f*u+p*c,e[2]=h*i+f*s+p*d,e[3]=v*n+y*o+g*l,e[4]=v*a+y*u+g*c,e[5]=v*i+y*s+g*d,e[6]=m*n+b*o+x*l,e[7]=m*a+b*u+x*c,e[8]=m*i+b*s+x*d,e}function Ya(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],u=t[4],s=t[5],l=t[6],c=t[7],d=t[8],h=r[0],f=r[1];return e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=u,e[5]=s,e[6]=h*n+f*o+l,e[7]=h*a+f*u+c,e[8]=h*i+f*s+d,e}function md(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],u=t[4],s=t[5],l=t[6],c=t[7],d=t[8],h=Math.sin(r),f=Math.cos(r);return e[0]=f*n+h*o,e[1]=f*a+h*u,e[2]=f*i+h*s,e[3]=f*o-h*n,e[4]=f*u-h*a,e[5]=f*s-h*i,e[6]=l,e[7]=c,e[8]=d,e}function is(e,t,r){var n=r[0],a=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=a*t[3],e[4]=a*t[4],e[5]=a*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Sy(e,t,r){return e[0]=2/t,e[1]=0,e[2]=0,e[3]=0,e[4]=-2/r,e[5]=0,e[6]=-1,e[7]=1,e[8]=1,e}var Dy=(function(){function e(t,r,n,a){Ht(this,e),this.debugID=Math.floor(Math.random()*1e4),this.r=t,this.texSize=r,this.texRows=n,this.texHeight=Math.floor(r/n),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=a(t,r,r),this.scratch=a(t,r,this.texHeight,"scratch")}return Zt(e,[{key:"lock",value:function(){this.locked=!0}},{key:"getKeys",value:function(){return new Set(this.keyToLocation.keys())}},{key:"getScale",value:function(t){var r=t.w,n=t.h,a=this.texHeight,i=this.texSize,o=a/n,u=r*o,s=n*o;return u>i&&(o=i/r,u=r*o,s=n*o),{scale:o,texW:u,texH:s}}},{key:"draw",value:function(t,r,n){var a=this;if(this.locked)throw Error("can't draw, atlas is locked");var i=this.texSize,o=this.texRows,u=this.texHeight,s=this.getScale(r),l=s.scale,c=s.texW,d=s.texH,h=function(g,m){if(n&&m){var b=m.context,x=g.x,B=g.row,k=x,w=u*B;b.save(),b.translate(k,w),b.scale(l,l),n(b,r),b.restore()}},f=[null,null],p=function(){h(a.freePointer,a.canvas),f[0]={x:a.freePointer.x,y:a.freePointer.row*u,w:c,h:d},f[1]={x:a.freePointer.x+c,y:a.freePointer.row*u,w:0,h:d},a.freePointer.x+=c,a.freePointer.x==i&&(a.freePointer.x=0,a.freePointer.row++)},v=function(){var g=a.scratch,m=a.canvas;g.clear(),h({x:0,row:0},g);var b=i-a.freePointer.x,x=c-b,B=u,k=a.freePointer.x,w=a.freePointer.row*u,S=b;m.context.drawImage(g,0,0,S,B,k,w,S,B),f[0]={x:k,y:w,w:S,h:d};var E=b,P=(a.freePointer.row+1)*u,C=x;m&&m.context.drawImage(g,E,0,C,B,0,P,C,B),f[1]={x:0,y:P,w:C,h:d},a.freePointer.x=x,a.freePointer.row++},y=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+c<=i)p();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===i?(y(),p()):this.enableWrapping?v():(y(),p())}return this.keyToLocation.set(t,f),this.needsBuffer=!0,f}},{key:"getOffsets",value:function(t){return this.keyToLocation.get(t)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(t){if(this.locked)return!1;var r=this.texSize,n=this.texRows,a=this.getScale(t).texW;return this.freePointer.x+a>r?this.freePointer.row<n-1:!0}},{key:"bufferIfNeeded",value:function(t){this.texture||(this.texture=Ey(t,this.debugID)),this.needsBuffer&&(this.texture.buffer(this.canvas),this.needsBuffer=!1,this.locked&&(this.canvas=null,this.scratch=null))}},{key:"dispose",value:function(){this.texture&&(this.texture=(this.texture.deleteTexture(),null)),this.canvas=null,this.scratch=null,this.locked=!0}}])})(),Ay=(function(){function e(t,r,n,a){Ht(this,e),this.r=t,this.texSize=r,this.texRows=n,this.createTextureCanvas=a,this.atlases=[],this.styleKeyToAtlas=new Map,this.markedKeys=new Set}return Zt(e,[{key:"getKeys",value:function(){return new Set(this.styleKeyToAtlas.keys())}},{key:"_createAtlas",value:function(){var t=this.r,r=this.texSize,n=this.texRows,a=this.createTextureCanvas;return new Dy(t,r,n,a)}},{key:"_getScratchCanvas",value:function(){if(!this.scratch){var t=this.r,r=this.texSize,n=this.texRows,a=this.createTextureCanvas;this.scratch=a(t,r,Math.floor(r/n),"scratch")}return this.scratch}},{key:"draw",value:function(t,r,n){var a=this.styleKeyToAtlas.get(t);return a||(a=this.atlases[this.atlases.length-1],(!a||!a.canFit(r))&&(a&&a.lock(),a=this._createAtlas(),this.atlases.push(a)),a.draw(t,r,n),this.styleKeyToAtlas.set(t,a)),a}},{key:"getAtlas",value:function(t){return this.styleKeyToAtlas.get(t)}},{key:"hasAtlas",value:function(t){return this.styleKeyToAtlas.has(t)}},{key:"markKeyForGC",value:function(t){this.markedKeys.add(t)}},{key:"gc",value:function(){var t=this,r=this.markedKeys;if(r.size===0){console.log("nothing to garbage collect");return}var n=[],a=new Map,i=null,o=xt(this.atlases),u;try{var s=function(){var l=u.value,c=l.getKeys(),d=Ry(r,c);if(d.size===0)return n.push(l),c.forEach(function(m){return a.set(m,l)}),1;i||(i=t._createAtlas(),n.push(i));var h=xt(c),f;try{for(h.s();!(f=h.n()).done;){var p=f.value;if(!d.has(p)){var v=Ge(l.getOffsets(p),2),y=v[0],g=v[1];i.canFit({w:y.w+g.w,h:y.h})||(i.lock(),i=t._createAtlas(),n.push(i)),l.canvas&&(t._copyTextureToNewAtlas(p,l,i),a.set(p,i))}}}catch(m){h.e(m)}finally{h.f()}l.dispose()};for(o.s();!(u=o.n()).done;)s()}catch(l){o.e(l)}finally{o.f()}this.atlases=n,this.styleKeyToAtlas=a,this.markedKeys=new Set}},{key:"_copyTextureToNewAtlas",value:function(t,r,n){var a=Ge(r.getOffsets(t),2),i=a[0],o=a[1];if(o.w===0)n.draw(t,i,function(c){c.drawImage(r.canvas,i.x,i.y,i.w,i.h,0,0,i.w,i.h)});else{var u=this._getScratchCanvas();u.clear(),u.context.drawImage(r.canvas,i.x,i.y,i.w,i.h,0,0,i.w,i.h),u.context.drawImage(r.canvas,o.x,o.y,o.w,o.h,i.w,0,o.w,o.h);var s=i.w+o.w,l=i.h;n.draw(t,{w:s,h:l},function(c){c.drawImage(u,0,0,s,l,0,0,s,l)})}}},{key:"getCounts",value:function(){return{keyCount:this.styleKeyToAtlas.size,atlasCount:new Set(this.styleKeyToAtlas.values()).size}}}])})();function Ry(e,t){return e.intersection?e.intersection(t):new Set(Xn(e).filter(function(r){return t.has(r)}))}var _y=(function(){function e(t,r){Ht(this,e),this.r=t,this.globalOptions=r,this.atlasSize=r.webglTexSize,this.maxAtlasesPerBatch=r.webglTexPerBatch,this.renderTypes=new Map,this.collections=new Map,this.typeAndIdToKey=new Map}return Zt(e,[{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"addAtlasCollection",value:function(t,r){var n=this.globalOptions,a=n.webglTexSize,i=n.createTextureCanvas,o=r.texRows,u=this._cacheScratchCanvas(i),s=new Ay(this.r,a,o,u);this.collections.set(t,s)}},{key:"addRenderType",value:function(t,r){var n=r.collection;if(!this.collections.has(n))throw Error(`invalid atlas collection name '${n}'`);var a=he({type:t,atlasCollection:this.collections.get(n)},r);this.renderTypes.set(t,a)}},{key:"getRenderTypeOpts",value:function(t){return this.renderTypes.get(t)}},{key:"getAtlasCollection",value:function(t){return this.collections.get(t)}},{key:"_cacheScratchCanvas",value:function(t){var r=-1,n=-1,a=null;return function(i,o,u,s){return s?((!a||o!=r||u!=n)&&(r=o,n=u,a=t(i,o,u)),a):t(i,o,u)}}},{key:"_key",value:function(t,r){return`${t}-${r}`}},{key:"invalidate",value:function(t){var r=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=n.forceRedraw,i=a===void 0?!1:a,o=n.filterEle,u=o===void 0?function(){return!0}:o,s=n.filterType,l=s===void 0?function(){return!0}:s,c=!1,d=!1,h=xt(t),f;try{for(h.s();!(f=h.n()).done;){var p=f.value;if(u(p)){var v=xt(this.renderTypes.values()),y;try{var g=function(){var m=y.value,b=m.type;if(l(b)){var x=r.collections.get(m.collection),B=m.getKey(p),k=Array.isArray(B)?B:[B];if(i)k.forEach(function(P){return x.markKeyForGC(P)}),d=!0;else{var w=m.getID?m.getID(p):p.id(),S=r._key(b,w),E=r.typeAndIdToKey.get(S);E!==void 0&&!xy(k,E)&&(c=!0,r.typeAndIdToKey.delete(S),E.forEach(function(P){return x.markKeyForGC(P)}))}}};for(v.s();!(y=v.n()).done;)g()}catch(m){v.e(m)}finally{v.f()}}}}catch(m){h.e(m)}finally{h.f()}return d&&(this.gc(),c=!1),c}},{key:"gc",value:function(){var t=xt(this.collections.values()),r;try{for(t.s();!(r=t.n()).done;)r.value.gc()}catch(n){t.e(n)}finally{t.f()}}},{key:"getOrCreateAtlas",value:function(t,r,n,a){var i=this.renderTypes.get(r),o=this.collections.get(i.collection),u=!1,s=o.draw(a,n,function(d){i.drawClipped?(d.save(),d.beginPath(),d.rect(0,0,n.w,n.h),d.clip(),i.drawElement(d,t,n,!0,!0),d.restore()):i.drawElement(d,t,n,!0,!0),u=!0});if(u){var l=i.getID?i.getID(t):t.id(),c=this._key(r,l);this.typeAndIdToKey.has(c)?this.typeAndIdToKey.get(c).push(a):this.typeAndIdToKey.set(c,[a])}return s}},{key:"getAtlasInfo",value:function(t,r){var n=this,a=this.renderTypes.get(r),i=a.getKey(t);return(Array.isArray(i)?i:[i]).map(function(o){var u=a.getBoundingBox(t,o),s=n.getOrCreateAtlas(t,r,u,o),l=Ge(s.getOffsets(o),2),c=l[0];return{atlas:s,tex:c,tex1:c,tex2:l[1],bb:u}})}},{key:"getDebugInfo",value:function(){var t=[],r=xt(this.collections),n;try{for(r.s();!(n=r.n()).done;){var a=Ge(n.value,2),i=a[0],o=a[1].getCounts(),u=o.keyCount,s=o.atlasCount;t.push({type:i,keyCount:u,atlasCount:s})}}catch(l){r.e(l)}finally{r.f()}return t}}])})(),My=(function(){function e(t){Ht(this,e),this.globalOptions=t,this.atlasSize=t.webglTexSize,this.maxAtlasesPerBatch=t.webglTexPerBatch,this.batchAtlases=[]}return Zt(e,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(t,r){return r})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(t){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(t):!0}},{key:"getAtlasIndexForBatch",value:function(t){var r=this.batchAtlases.indexOf(t);if(r<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw Error("cannot add more atlases to batch");this.batchAtlases.push(t),r=this.batchAtlases.length-1}return r}}])})(),Iy=`
|
|
8
|
+
float circleSD(vec2 p, float r) {
|
|
9
|
+
return distance(vec2(0), p) - r; // signed distance
|
|
10
|
+
}
|
|
11
|
+
`,Ny=`
|
|
12
|
+
float rectangleSD(vec2 p, vec2 b) {
|
|
13
|
+
vec2 d = abs(p)-b;
|
|
14
|
+
return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0);
|
|
15
|
+
}
|
|
16
|
+
`,Ly=`
|
|
17
|
+
float roundRectangleSD(vec2 p, vec2 b, vec4 cr) {
|
|
18
|
+
cr.xy = (p.x > 0.0) ? cr.xy : cr.zw;
|
|
19
|
+
cr.x = (p.y > 0.0) ? cr.x : cr.y;
|
|
20
|
+
vec2 q = abs(p) - b + cr.x;
|
|
21
|
+
return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x;
|
|
22
|
+
}
|
|
23
|
+
`,zy=`
|
|
24
|
+
float ellipseSD(vec2 p, vec2 ab) {
|
|
25
|
+
p = abs( p ); // symmetry
|
|
26
|
+
|
|
27
|
+
// find root with Newton solver
|
|
28
|
+
vec2 q = ab*(p-ab);
|
|
29
|
+
float w = (q.x<q.y)? 1.570796327 : 0.0;
|
|
30
|
+
for( int i=0; i<5; i++ ) {
|
|
31
|
+
vec2 cs = vec2(cos(w),sin(w));
|
|
32
|
+
vec2 u = ab*vec2( cs.x,cs.y);
|
|
33
|
+
vec2 v = ab*vec2(-cs.y,cs.x);
|
|
34
|
+
w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// compute final point and distance
|
|
38
|
+
float d = length(p-ab*vec2(cos(w),sin(w)));
|
|
39
|
+
|
|
40
|
+
// return signed distance
|
|
41
|
+
return (dot(p/ab,p/ab)>1.0) ? d : -d;
|
|
42
|
+
}
|
|
43
|
+
`,In={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},qa={IGNORE:1,USE_BB:2},os=0,bd=1,xd=2,ss=3,Qr=4,ja=5,Nn=6,Ln=7,Oy=(function(){function e(t,r,n){Ht(this,e),this.r=t,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=vy,this.atlasManager=new _y(t,n),this.batchManager=new My(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(In.SCREEN),this.pickingProgram=this._createShaderProgram(In.PICKING),this.vao=this._createVAO()}return Zt(e,[{key:"addAtlasCollection",value:function(t,r){this.atlasManager.addAtlasCollection(t,r)}},{key:"addTextureAtlasRenderType",value:function(t,r){this.atlasManager.addRenderType(t,r)}},{key:"addSimpleShapeRenderType",value:function(t,r){this.simpleShapeOptions.set(t,r)}},{key:"invalidate",value:function(t){var r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).type,n=this.atlasManager;return r?n.invalidate(t,{filterType:function(a){return a===r},forceRedraw:!0}):n.invalidate(t)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(t){var r=this.gl,n=`#version 300 es
|
|
44
|
+
precision highp float;
|
|
45
|
+
|
|
46
|
+
uniform mat3 uPanZoomMatrix;
|
|
47
|
+
uniform int uAtlasSize;
|
|
48
|
+
|
|
49
|
+
// instanced
|
|
50
|
+
in vec2 aPosition; // a vertex from the unit square
|
|
51
|
+
|
|
52
|
+
in mat3 aTransform; // used to transform verticies, eg into a bounding box
|
|
53
|
+
in int aVertType; // the type of thing we are rendering
|
|
54
|
+
|
|
55
|
+
// the z-index that is output when using picking mode
|
|
56
|
+
in vec4 aIndex;
|
|
57
|
+
|
|
58
|
+
// For textures
|
|
59
|
+
in int aAtlasId; // which shader unit/atlas to use
|
|
60
|
+
in vec4 aTex; // x/y/w/h of texture in atlas
|
|
61
|
+
|
|
62
|
+
// for edges
|
|
63
|
+
in vec4 aPointAPointB;
|
|
64
|
+
in vec4 aPointCPointD;
|
|
65
|
+
in vec2 aLineWidth; // also used for node border width
|
|
66
|
+
|
|
67
|
+
// simple shapes
|
|
68
|
+
in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left]
|
|
69
|
+
in vec4 aColor; // also used for edges
|
|
70
|
+
in vec4 aBorderColor; // aLineWidth is used for border width
|
|
71
|
+
|
|
72
|
+
// output values passed to the fragment shader
|
|
73
|
+
out vec2 vTexCoord;
|
|
74
|
+
out vec4 vColor;
|
|
75
|
+
out vec2 vPosition;
|
|
76
|
+
// flat values are not interpolated
|
|
77
|
+
flat out int vAtlasId;
|
|
78
|
+
flat out int vVertType;
|
|
79
|
+
flat out vec2 vTopRight;
|
|
80
|
+
flat out vec2 vBotLeft;
|
|
81
|
+
flat out vec4 vCornerRadius;
|
|
82
|
+
flat out vec4 vBorderColor;
|
|
83
|
+
flat out vec2 vBorderWidth;
|
|
84
|
+
flat out vec4 vIndex;
|
|
85
|
+
|
|
86
|
+
void main(void) {
|
|
87
|
+
int vid = gl_VertexID;
|
|
88
|
+
vec2 position = aPosition; // TODO make this a vec3, simplifies some code below
|
|
89
|
+
|
|
90
|
+
if(aVertType == ${os}) {
|
|
91
|
+
float texX = aTex.x; // texture coordinates
|
|
92
|
+
float texY = aTex.y;
|
|
93
|
+
float texW = aTex.z;
|
|
94
|
+
float texH = aTex.w;
|
|
95
|
+
|
|
96
|
+
if(vid == 1 || vid == 2 || vid == 4) {
|
|
97
|
+
texX += texW;
|
|
98
|
+
}
|
|
99
|
+
if(vid == 2 || vid == 4 || vid == 5) {
|
|
100
|
+
texY += texH;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
float d = float(uAtlasSize);
|
|
104
|
+
vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1
|
|
105
|
+
|
|
106
|
+
gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);
|
|
107
|
+
}
|
|
108
|
+
else if(aVertType == ${Qr} || aVertType == ${Ln}
|
|
109
|
+
|| aVertType == ${ja} || aVertType == ${Nn}) { // simple shapes
|
|
110
|
+
|
|
111
|
+
// the bounding box is needed by the fragment shader
|
|
112
|
+
vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat
|
|
113
|
+
vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat
|
|
114
|
+
vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated
|
|
115
|
+
|
|
116
|
+
// calculations are done in the fragment shader, just pass these along
|
|
117
|
+
vColor = aColor;
|
|
118
|
+
vCornerRadius = aCornerRadius;
|
|
119
|
+
vBorderColor = aBorderColor;
|
|
120
|
+
vBorderWidth = aLineWidth;
|
|
121
|
+
|
|
122
|
+
gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);
|
|
123
|
+
}
|
|
124
|
+
else if(aVertType == ${bd}) {
|
|
125
|
+
vec2 source = aPointAPointB.xy;
|
|
126
|
+
vec2 target = aPointAPointB.zw;
|
|
127
|
+
|
|
128
|
+
// adjust the geometry so that the line is centered on the edge
|
|
129
|
+
position.y = position.y - 0.5;
|
|
130
|
+
|
|
131
|
+
// stretch the unit square into a long skinny rectangle
|
|
132
|
+
vec2 xBasis = target - source;
|
|
133
|
+
vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x));
|
|
134
|
+
vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y;
|
|
135
|
+
|
|
136
|
+
gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0);
|
|
137
|
+
vColor = aColor;
|
|
138
|
+
}
|
|
139
|
+
else if(aVertType == ${xd}) {
|
|
140
|
+
vec2 pointA = aPointAPointB.xy;
|
|
141
|
+
vec2 pointB = aPointAPointB.zw;
|
|
142
|
+
vec2 pointC = aPointCPointD.xy;
|
|
143
|
+
vec2 pointD = aPointCPointD.zw;
|
|
144
|
+
|
|
145
|
+
// adjust the geometry so that the line is centered on the edge
|
|
146
|
+
position.y = position.y - 0.5;
|
|
147
|
+
|
|
148
|
+
vec2 p0, p1, p2, pos;
|
|
149
|
+
if(position.x == 0.0) { // The left side of the unit square
|
|
150
|
+
p0 = pointA;
|
|
151
|
+
p1 = pointB;
|
|
152
|
+
p2 = pointC;
|
|
153
|
+
pos = position;
|
|
154
|
+
} else { // The right side of the unit square, use same approach but flip the geometry upside down
|
|
155
|
+
p0 = pointD;
|
|
156
|
+
p1 = pointC;
|
|
157
|
+
p2 = pointB;
|
|
158
|
+
pos = vec2(0.0, -position.y);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
vec2 p01 = p1 - p0;
|
|
162
|
+
vec2 p12 = p2 - p1;
|
|
163
|
+
vec2 p21 = p1 - p2;
|
|
164
|
+
|
|
165
|
+
// Find the normal vector.
|
|
166
|
+
vec2 tangent = normalize(normalize(p12) + normalize(p01));
|
|
167
|
+
vec2 normal = vec2(-tangent.y, tangent.x);
|
|
168
|
+
|
|
169
|
+
// Find the vector perpendicular to p0 -> p1.
|
|
170
|
+
vec2 p01Norm = normalize(vec2(-p01.y, p01.x));
|
|
171
|
+
|
|
172
|
+
// Determine the bend direction.
|
|
173
|
+
float sigma = sign(dot(p01 + p21, normal));
|
|
174
|
+
float width = aLineWidth[0];
|
|
175
|
+
|
|
176
|
+
if(sign(pos.y) == -sigma) {
|
|
177
|
+
// This is an intersecting vertex. Adjust the position so that there's no overlap.
|
|
178
|
+
vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm);
|
|
179
|
+
gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);
|
|
180
|
+
} else {
|
|
181
|
+
// This is a non-intersecting vertex. Treat it like a mitre join.
|
|
182
|
+
vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm);
|
|
183
|
+
gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
vColor = aColor;
|
|
187
|
+
}
|
|
188
|
+
else if(aVertType == ${ss} && vid < 3) {
|
|
189
|
+
// massage the first triangle into an edge arrow
|
|
190
|
+
if(vid == 0)
|
|
191
|
+
position = vec2(-0.15, -0.3);
|
|
192
|
+
if(vid == 1)
|
|
193
|
+
position = vec2( 0.0, 0.0);
|
|
194
|
+
if(vid == 2)
|
|
195
|
+
position = vec2( 0.15, -0.3);
|
|
196
|
+
|
|
197
|
+
gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);
|
|
198
|
+
vColor = aColor;
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
vAtlasId = aAtlasId;
|
|
205
|
+
vVertType = aVertType;
|
|
206
|
+
vIndex = aIndex;
|
|
207
|
+
}
|
|
208
|
+
`,a=this.batchManager.getIndexArray(),i=gy(r,n,`#version 300 es
|
|
209
|
+
precision highp float;
|
|
210
|
+
|
|
211
|
+
// declare texture unit for each texture atlas in the batch
|
|
212
|
+
${a.map(function(u){return`uniform sampler2D uTexture${u};`}).join(`
|
|
213
|
+
`)}
|
|
214
|
+
|
|
215
|
+
uniform vec4 uBGColor;
|
|
216
|
+
uniform float uZoom;
|
|
217
|
+
|
|
218
|
+
in vec2 vTexCoord;
|
|
219
|
+
in vec4 vColor;
|
|
220
|
+
in vec2 vPosition; // model coordinates
|
|
221
|
+
|
|
222
|
+
flat in int vAtlasId;
|
|
223
|
+
flat in vec4 vIndex;
|
|
224
|
+
flat in int vVertType;
|
|
225
|
+
flat in vec2 vTopRight;
|
|
226
|
+
flat in vec2 vBotLeft;
|
|
227
|
+
flat in vec4 vCornerRadius;
|
|
228
|
+
flat in vec4 vBorderColor;
|
|
229
|
+
flat in vec2 vBorderWidth;
|
|
230
|
+
|
|
231
|
+
out vec4 outColor;
|
|
232
|
+
|
|
233
|
+
${Iy}
|
|
234
|
+
${Ny}
|
|
235
|
+
${Ly}
|
|
236
|
+
${zy}
|
|
237
|
+
|
|
238
|
+
vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha
|
|
239
|
+
return vec4(
|
|
240
|
+
top.rgb + (bot.rgb * (1.0 - top.a)),
|
|
241
|
+
top.a + (bot.a * (1.0 - top.a))
|
|
242
|
+
);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance
|
|
246
|
+
// scale to the zoom level so that borders don't look blurry when zoomed in
|
|
247
|
+
// note 1.5 is an aribitrary value chosen because it looks good
|
|
248
|
+
return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d)));
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
void main(void) {
|
|
252
|
+
if(vVertType == ${os}) {
|
|
253
|
+
// look up the texel from the texture unit
|
|
254
|
+
${a.map(function(u){return`if(vAtlasId == ${u}) outColor = texture(uTexture${u}, vTexCoord);`}).join(`
|
|
255
|
+
else `)}
|
|
256
|
+
}
|
|
257
|
+
else if(vVertType == ${ss}) {
|
|
258
|
+
// mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out';
|
|
259
|
+
outColor = blend(vColor, uBGColor);
|
|
260
|
+
outColor.a = 1.0; // make opaque, masks out line under arrow
|
|
261
|
+
}
|
|
262
|
+
else if(vVertType == ${Qr} && vBorderWidth == vec2(0.0)) { // simple rectangle with no border
|
|
263
|
+
outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done
|
|
264
|
+
}
|
|
265
|
+
else if(vVertType == ${Qr} || vVertType == ${Ln}
|
|
266
|
+
|| vVertType == ${ja} || vVertType == ${Nn}) { // use SDF
|
|
267
|
+
|
|
268
|
+
float outerBorder = vBorderWidth[0];
|
|
269
|
+
float innerBorder = vBorderWidth[1];
|
|
270
|
+
float borderPadding = outerBorder * 2.0;
|
|
271
|
+
float w = vTopRight.x - vBotLeft.x - borderPadding;
|
|
272
|
+
float h = vTopRight.y - vBotLeft.y - borderPadding;
|
|
273
|
+
vec2 b = vec2(w/2.0, h/2.0); // half width, half height
|
|
274
|
+
vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center
|
|
275
|
+
|
|
276
|
+
float d; // signed distance
|
|
277
|
+
if(vVertType == ${Qr}) {
|
|
278
|
+
d = rectangleSD(p, b);
|
|
279
|
+
} else if(vVertType == ${Ln} && w == h) {
|
|
280
|
+
d = circleSD(p, b.x); // faster than ellipse
|
|
281
|
+
} else if(vVertType == ${Ln}) {
|
|
282
|
+
d = ellipseSD(p, b);
|
|
283
|
+
} else {
|
|
284
|
+
d = roundRectangleSD(p, b, vCornerRadius.wzyx);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
// use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling
|
|
288
|
+
// we must smooth colors inwards, because we can't change pixels outside the shape's bounding box
|
|
289
|
+
if(d > 0.0) {
|
|
290
|
+
if(d > outerBorder) {
|
|
291
|
+
discard;
|
|
292
|
+
} else {
|
|
293
|
+
outColor = distInterp(vBorderColor, vec4(0), d - outerBorder);
|
|
294
|
+
}
|
|
295
|
+
} else {
|
|
296
|
+
if(d > innerBorder) {
|
|
297
|
+
vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor;
|
|
298
|
+
vec4 innerBorderColor = blend(vBorderColor, vColor);
|
|
299
|
+
outColor = distInterp(innerBorderColor, outerColor, d);
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
vec4 outerColor;
|
|
303
|
+
if(innerBorder == 0.0 && outerBorder == 0.0) {
|
|
304
|
+
outerColor = vec4(0);
|
|
305
|
+
} else if(innerBorder == 0.0) {
|
|
306
|
+
outerColor = vBorderColor;
|
|
307
|
+
} else {
|
|
308
|
+
outerColor = blend(vBorderColor, vColor);
|
|
309
|
+
}
|
|
310
|
+
outColor = distInterp(vColor, outerColor, d - innerBorder);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
outColor = vColor;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
${t.picking?`if(outColor.a == 0.0) discard;
|
|
319
|
+
else outColor = vIndex;`:""}
|
|
320
|
+
}
|
|
321
|
+
`);i.aPosition=r.getAttribLocation(i,"aPosition"),i.aIndex=r.getAttribLocation(i,"aIndex"),i.aVertType=r.getAttribLocation(i,"aVertType"),i.aTransform=r.getAttribLocation(i,"aTransform"),i.aAtlasId=r.getAttribLocation(i,"aAtlasId"),i.aTex=r.getAttribLocation(i,"aTex"),i.aPointAPointB=r.getAttribLocation(i,"aPointAPointB"),i.aPointCPointD=r.getAttribLocation(i,"aPointCPointD"),i.aLineWidth=r.getAttribLocation(i,"aLineWidth"),i.aColor=r.getAttribLocation(i,"aColor"),i.aCornerRadius=r.getAttribLocation(i,"aCornerRadius"),i.aBorderColor=r.getAttribLocation(i,"aBorderColor"),i.uPanZoomMatrix=r.getUniformLocation(i,"uPanZoomMatrix"),i.uAtlasSize=r.getUniformLocation(i,"uAtlasSize"),i.uBGColor=r.getUniformLocation(i,"uBGColor"),i.uZoom=r.getUniformLocation(i,"uZoom"),i.uTextures=[];for(var o=0;o<this.batchManager.getMaxAtlasesPerBatch();o++)i.uTextures.push(r.getUniformLocation(i,`uTexture${o}`));return i}},{key:"_createVAO",value:function(){var t=[0,0,1,0,1,1,0,0,1,1,0,1];this.vertexCount=t.length/2;var r=this.maxInstances,n=this.gl,a=this.program,i=n.createVertexArray();return n.bindVertexArray(i),Ty(n,"vec2",a.aPosition,t),this.transformBuffer=Cy(n,r,a.aTransform),this.indexBuffer=Xt(n,r,"vec4",a.aIndex),this.vertTypeBuffer=Xt(n,r,"int",a.aVertType),this.atlasIdBuffer=Xt(n,r,"int",a.aAtlasId),this.texBuffer=Xt(n,r,"vec4",a.aTex),this.pointAPointBBuffer=Xt(n,r,"vec4",a.aPointAPointB),this.pointCPointDBuffer=Xt(n,r,"vec4",a.aPointCPointD),this.lineWidthBuffer=Xt(n,r,"vec2",a.aLineWidth),this.colorBuffer=Xt(n,r,"vec4",a.aColor),this.cornerRadiusBuffer=Xt(n,r,"vec4",a.aCornerRadius),this.borderColorBuffer=Xt(n,r,"vec4",a.aBorderColor),n.bindVertexArray(null),i}},{key:"buffers",get:function(){var t=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(r){return Jt(r,"Buffer")}).map(function(r){return t[r]})),this._buffers}},{key:"startFrame",value:function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:In.SCREEN;this.panZoomMatrix=t,this.renderTarget=r,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(t,r){return t.visible()?r&&r.isVisible?r.isVisible(t):!0:!1}},{key:"drawTexture",value:function(t,r,n){var a=this.atlasManager,i=this.batchManager,o=a.getRenderTypeOpts(n);if(this._isVisible(t,o)&&!(t.isEdge()&&!this._isValidEdge(t))){if(this.renderTarget.picking&&o.getTexPickingMode){var u=o.getTexPickingMode(t);if(u===qa.IGNORE)return;if(u==qa.USE_BB){this.drawPickingRectangle(t,r,n);return}}var s=xt(a.getAtlasInfo(t,n)),l;try{for(s.s();!(l=s.n()).done;){var c=l.value,d=c.atlas,h=c.tex1,f=c.tex2;i.canAddToCurrentBatch(d)||this.endBatch();for(var p=i.getAtlasIndexForBatch(d),v=0,y=[[h,!0],[f,!1]];v<y.length;v++){var g=Ge(y[v],2),m=g[0],b=g[1];if(m.w!=0){var x=this.instanceCount;this.vertTypeBuffer.getView(x)[0]=os,Zr(r,this.indexBuffer.getView(x));var B=this.atlasIdBuffer.getView(x);B[0]=p;var k=this.texBuffer.getView(x);k[0]=m.x,k[1]=m.y,k[2]=m.w,k[3]=m.h;var w=this.transformBuffer.getMatrixView(x);this.setTransformMatrix(t,w,o,c,b),this.instanceCount++,b||this.wrappedCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}catch(S){s.e(S)}finally{s.f()}}}},{key:"setTransformMatrix",value:function(t,r,n,a){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(n.shapeProps&&n.shapeProps.padding&&(o=t.pstyle(n.shapeProps.padding).pfValue),a){var u=a.bb,s=a.tex1,l=a.tex2,c=s.w/(s.w+l.w);i||(c=1-c);var d=this._getAdjustedBB(u,o,i,c);this._applyTransformMatrix(r,d,n,t)}else{var h=n.getBoundingBox(t),f=this._getAdjustedBB(h,o,!0,1);this._applyTransformMatrix(r,f,n,t)}}},{key:"_applyTransformMatrix",value:function(t,r,n,a){var i,o;yd(t);var u=n.getRotation?n.getRotation(a):0;if(u!==0){var s=n.getRotationPoint(a),l=s.x,c=s.y;Ya(t,t,[l,c]),md(t,t,u);var d=n.getRotationOffset(a);i=d.x+(r.xOffset||0),o=d.y+(r.yOffset||0)}else i=r.x1,o=r.y1;Ya(t,t,[i,o]),is(t,t,[r.w,r.h])}},{key:"_getAdjustedBB",value:function(t,r,n,a){var i=t.x1,o=t.y1,u=t.w,s=t.h,l=t.yOffset;r&&(i-=r,o-=r,u+=2*r,s+=2*r);var c=0,d=u*a;return n&&a<1?u=d:!n&&a<1&&(c=u-d,i+=c,u=d),{x1:i,y1:o,w:u,h:s,xOffset:c,yOffset:l}}},{key:"drawPickingRectangle",value:function(t,r,n){var a=this.atlasManager.getRenderTypeOpts(n),i=this.instanceCount;this.vertTypeBuffer.getView(i)[0]=Qr,Zr(r,this.indexBuffer.getView(i)),Br([0,0,0],1,this.colorBuffer.getView(i));var o=this.transformBuffer.getMatrixView(i);this.setTransformMatrix(t,o,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(t,r,n){var a=this.simpleShapeOptions.get(n);if(this._isVisible(t,a)){var i=a.shapeProps,o=this._getVertTypeForShape(t,i.shape);if(o===void 0||a.isSimple&&!a.isSimple(t)){this.drawTexture(t,r,n);return}var u=this.instanceCount;if(this.vertTypeBuffer.getView(u)[0]=o,o===ja||o===Nn){var s=a.getBoundingBox(t),l=this._getCornerRadius(t,i.radius,s),c=this.cornerRadiusBuffer.getView(u);c[0]=l,c[1]=l,c[2]=l,c[3]=l,o===Nn&&(c[0]=0,c[2]=0)}Zr(r,this.indexBuffer.getView(u));var d=t.pstyle(i.color).value,h=t.pstyle(i.opacity).value;Br(d,h,this.colorBuffer.getView(u));var f=this.lineWidthBuffer.getView(u);if(f[0]=0,f[1]=0,i.border){var p=t.pstyle("border-width").value;if(p>0){var v=t.pstyle("border-color").value,y=t.pstyle("border-opacity").value;Br(v,y,this.borderColorBuffer.getView(u));var g=t.pstyle("border-position").value;if(g==="inside")f[0]=0,f[1]=-p;else if(g==="outside")f[0]=p,f[1]=0;else{var m=p/2;f[0]=m,f[1]=-m}}}var b=this.transformBuffer.getMatrixView(u);this.setTransformMatrix(t,b,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(t,r){switch(t.pstyle(r).value){case"rectangle":return Qr;case"ellipse":return Ln;case"roundrectangle":case"round-rectangle":return ja;case"bottom-round-rectangle":return Nn;default:return}}},{key:"_getCornerRadius",value:function(t,r,n){var a=n.w,i=n.h;if(t.pstyle(r).value==="auto")return ar(a,i);var o=t.pstyle(r).pfValue,u=a/2,s=i/2;return Math.min(o,s,u)}},{key:"drawEdgeArrow",value:function(t,r,n){if(t.visible()){var a=t._private.rscratch,i,o,u;if(n==="source"?(i=a.arrowStartX,o=a.arrowStartY,u=a.srcArrowAngle):(i=a.arrowEndX,o=a.arrowEndY,u=a.tgtArrowAngle),!(isNaN(i)||i==null||isNaN(o)||o==null||isNaN(u)||u==null)&&t.pstyle(n+"-arrow-shape").value!=="none"){var s=t.pstyle(n+"-arrow-color").value,l=t.pstyle("opacity").value*t.pstyle("line-opacity").value,c=t.pstyle("width").pfValue,d=t.pstyle("arrow-scale").value,h=this.r.getArrowWidth(c,d),f=this.instanceCount,p=this.transformBuffer.getMatrixView(f);yd(p),Ya(p,p,[i,o]),is(p,p,[h,h]),md(p,p,u),this.vertTypeBuffer.getView(f)[0]=ss,Zr(r,this.indexBuffer.getView(f)),Br(s,l,this.colorBuffer.getView(f)),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},{key:"drawEdgeLine",value:function(t,r){if(t.visible()){var n=this._getEdgePoints(t);if(n){var a=t.pstyle("opacity").value,i=t.pstyle("line-opacity").value,o=t.pstyle("width").pfValue,u=t.pstyle("line-color").value,s=a*i;if(n.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),n.length==4){var l=this.instanceCount;this.vertTypeBuffer.getView(l)[0]=bd,Zr(r,this.indexBuffer.getView(l)),Br(u,s,this.colorBuffer.getView(l));var c=this.lineWidthBuffer.getView(l);c[0]=o;var d=this.pointAPointBBuffer.getView(l);d[0]=n[0],d[1]=n[1],d[2]=n[2],d[3]=n[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var h=0;h<n.length-2;h+=2){var f=this.instanceCount;this.vertTypeBuffer.getView(f)[0]=xd,Zr(r,this.indexBuffer.getView(f)),Br(u,s,this.colorBuffer.getView(f));var p=this.lineWidthBuffer.getView(f);p[0]=o;var v=n[h-2],y=n[h-1],g=n[h],m=n[h+1],b=n[h+2],x=n[h+3],B=n[h+4],k=n[h+5];h==0&&(v=2*g-b+.001,y=2*m-x+.001),h==n.length-4&&(B=2*b-g+.001,k=2*x-m+.001);var w=this.pointAPointBBuffer.getView(f);w[0]=v,w[1]=y,w[2]=g,w[3]=m;var S=this.pointCPointDBuffer.getView(f);S[0]=b,S[1]=x,S[2]=B,S[3]=k,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(t){var r=t._private.rscratch;return!(r.badLine||r.allpts==null||isNaN(r.allpts[0]))}},{key:"_getEdgePoints",value:function(t){var r=t._private.rscratch;if(this._isValidEdge(t)){var n=r.allpts;if(n.length==4)return n;var a=this._getNumSegments(t);return this._getCurveSegmentPoints(n,a)}}},{key:"_getNumSegments",value:function(t){return Math.min(15,this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(t,r){if(t.length==4)return t;for(var n=Array((r+1)*2),a=0;a<=r;a++)if(a==0)n[0]=t[0],n[1]=t[1];else if(a==r)n[a*2]=t[t.length-2],n[a*2+1]=t[t.length-1];else{var i=a/r;this._setCurvePoint(t,i,n,a*2)}return n}},{key:"_setCurvePoint",value:function(t,r,n,a){if(t.length<=2)n[a]=t[0],n[a+1]=t[1];else{for(var i=Array(t.length-2),o=0;o<i.length;o+=2){var u=(1-r)*t[o]+r*t[o+2],s=(1-r)*t[o+1]+r*t[o+3];i[o]=u,i[o+1]=s}return this._setCurvePoint(i,r,n,a)}}},{key:"endBatch",value:function(){var t=this.gl,r=this.vao,n=this.vertexCount,a=this.instanceCount;if(a!==0){var i=this.renderTarget.picking?this.pickingProgram:this.program;t.useProgram(i),t.bindVertexArray(r);var o=xt(this.buffers),u;try{for(o.s();!(u=o.n()).done;)u.value.bufferSubData(a)}catch(h){o.e(h)}finally{o.f()}for(var s=this.batchManager.getAtlases(),l=0;l<s.length;l++)s[l].bufferIfNeeded(t);for(var c=0;c<s.length;c++)t.activeTexture(t.TEXTURE0+c),t.bindTexture(t.TEXTURE_2D,s[c].texture),t.uniform1i(i.uTextures[c],c);t.uniform1f(i.uZoom,yy(this.r)),t.uniformMatrix3fv(i.uPanZoomMatrix,!1,this.panZoomMatrix),t.uniform1i(i.uAtlasSize,this.batchManager.getAtlasSize());var d=Br(this.bgColor,1);t.uniform4fv(i.uBGColor,d),t.drawArraysInstanced(t.TRIANGLES,0,n,a),t.bindVertexArray(null),t.bindTexture(t.TEXTURE_2D,null),this.debug&&this.batchDebugInfo.push({count:a,atlasCount:s.length}),this.startBatch()}}},{key:"getDebugInfo",value:function(){var t=this.atlasManager.getDebugInfo(),r=t.reduce(function(i,o){return i+o.atlasCount},0),n=this.batchDebugInfo,a=n.reduce(function(i,o){return i+o.count},0);return{atlasInfo:t,totalAtlases:r,wrappedCount:this.wrappedCount,simpleCount:this.simpleCount,batchCount:n.length,batchInfo:n,totalInstances:a}}}])})(),wd={};wd.initWebgl=function(e,t){var r=this,n=r.data.contexts[r.WEBGL];e.bgColor=Vy(r),e.webglTexSize=Math.min(e.webglTexSize,n.getParameter(n.MAX_TEXTURE_SIZE)),e.webglTexRows=Math.min(e.webglTexRows,54),e.webglTexRowsNodes=Math.min(e.webglTexRowsNodes,54),e.webglBatchSize=Math.min(e.webglBatchSize,16384),e.webglTexPerBatch=Math.min(e.webglTexPerBatch,n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS)),r.webglDebug=e.webglDebug,r.webglDebugShowAtlases=e.webglDebugShowAtlases,r.pickingFrameBuffer=Py(n),r.pickingFrameBuffer.needsDraw=!0,r.drawing=new Oy(r,n,e);var a=function(c){return function(d){return r.getTextAngle(d,c)}},i=function(c){return function(d){var h=d.pstyle(c);return h&&h.value}},o=function(c){return function(d){return d.pstyle(`${c}-opacity`).value>0}},u=function(c){return c.pstyle("text-events").strValue==="yes"?qa.USE_BB:qa.IGNORE},s=function(c){var d=c.position(),h=d.x,f=d.y,p=c.outerWidth(),v=c.outerHeight();return{w:p,h:v,x1:h-p/2,y1:f-v/2}};r.drawing.addAtlasCollection("node",{texRows:e.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:e.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:t.getStyleKey,getBoundingBox:t.getElementBox,drawElement:t.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:s,isSimple:by,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:s,isVisible:o("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:s,isVisible:o("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:u,getKey:ls(t.getLabelKey,null),getBoundingBox:us(t.getLabelBox,null),drawClipped:!0,drawElement:t.drawLabel,getRotation:a(null),getRotationPoint:t.getLabelRotationPoint,getRotationOffset:t.getLabelRotationOffset,isVisible:i("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:u,getKey:ls(t.getSourceLabelKey,"source"),getBoundingBox:us(t.getSourceLabelBox,"source"),drawClipped:!0,drawElement:t.drawSourceLabel,getRotation:a("source"),getRotationPoint:t.getSourceLabelRotationPoint,getRotationOffset:t.getSourceLabelRotationOffset,isVisible:i("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:u,getKey:ls(t.getTargetLabelKey,"target"),getBoundingBox:us(t.getTargetLabelBox,"target"),drawClipped:!0,drawElement:t.drawTargetLabel,getRotation:a("target"),getRotationPoint:t.getTargetLabelRotationPoint,getRotationOffset:t.getTargetLabelRotationOffset,isVisible:i("target-label")});var l=un(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(c,d){var h=!1;d&&d.length>0&&(h|=r.drawing.invalidate(d)),h&&l()}),Fy(r)};function Vy(e){var t=e.cy.container();return Bs(t&&t.style&&t.style.backgroundColor||"white")}function Ed(e,t){var r=e._private.rscratch;return wt(r,"labelWrapCachedLines",t)||[]}var ls=function(e,t){return function(r){var n=e(r),a=Ed(r,t);return a.length>1?a.map(function(i,o){return`${n}_${o}`}):n}},us=function(e,t){return function(r,n){var a=e(r);if(typeof n=="string"){var i=n.indexOf("_");if(i>0){var o=Number(n.substring(i+1)),u=Ed(r,t),s=a.h/u.length,l=s*o,c=a.y1+l;return{x1:a.x1,w:a.w,y1:c,h:s,yOffset:l}}}return a}};function Fy(e){var t=e.render;e.render=function(i){i||(i={});var o=e.cy;e.webgl&&(o.zoom()>nd?(Xy(e),t.call(e,i)):(Yy(e),Td(e,i,In.SCREEN)))};var r=e.matchCanvasSize;e.matchCanvasSize=function(i){r.call(e,i),e.pickingFrameBuffer.setFramebufferAttachmentSizes(e.canvasWidth,e.canvasHeight),e.pickingFrameBuffer.needsDraw=!0},e.findNearestElements=function(i,o,u,s){return Gy(e,i,o)};var n=e.invalidateCachedZSortedEles;e.invalidateCachedZSortedEles=function(){n.call(e),e.pickingFrameBuffer.needsDraw=!0};var a=e.notify;e.notify=function(i,o){a.call(e,i,o),i==="viewport"||i==="bounds"?e.pickingFrameBuffer.needsDraw=!0:i==="background"&&e.drawing.invalidate(o,{type:"node-body"})}}function Xy(e){var t=e.data.contexts[e.WEBGL];t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}function Yy(e){var t=function(r){r.save(),r.setTransform(1,0,0,1,0,0),r.clearRect(0,0,e.canvasWidth,e.canvasHeight),r.restore()};t(e.data.contexts[e.NODE]),t(e.data.contexts[e.DRAG])}function qy(e){var t=e.canvasWidth,r=e.canvasHeight,n=ns(e),a=n.pan,i=n.zoom,o=as();Ya(o,o,[a.x,a.y]),is(o,o,[i,i]);var u=as();Sy(u,t,r);var s=as();return By(s,u,o),s}function kd(e,t){var r=e.canvasWidth,n=e.canvasHeight,a=ns(e),i=a.pan,o=a.zoom;t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,r,n),t.translate(i.x,i.y),t.scale(o,o)}function jy(e,t){e.drawSelectionRectangle(t,function(r){return kd(e,r)})}function Wy(e){var t=e.data.contexts[e.NODE];t.save(),kd(e,t),t.strokeStyle="rgba(0, 0, 0, 0.3)",t.beginPath(),t.moveTo(-1e3,0),t.lineTo(1e3,0),t.stroke(),t.beginPath(),t.moveTo(0,-1e3),t.lineTo(0,1e3),t.stroke(),t.restore()}function Uy(e){var t=function(n,a,i){for(var o=n.atlasManager.getAtlasCollection(a),u=e.data.contexts[e.NODE],s=o.atlases,l=0;l<s.length;l++){var c=s[l].canvas;if(c){var d=c.width,h=c.height,f=d*l,p=c.height*i,v=.4;u.save(),u.scale(v,v),u.drawImage(c,f,p),u.strokeStyle="black",u.rect(f,p,d,h),u.stroke(),u.restore()}}},r=0;t(e.drawing,"node",r++),t(e.drawing,"label",r++)}function $y(e,t,r,n,a){var i,o,u,s,l=ns(e),c=l.pan,d=l.zoom,h=Ge(my(e,c,d,t,r),2),f=h[0],p=h[1],v=6;if(i=f-v/2,o=p-v/2,u=v,s=v,u===0||s===0)return[];var y=e.data.contexts[e.WEBGL];y.bindFramebuffer(y.FRAMEBUFFER,e.pickingFrameBuffer),e.pickingFrameBuffer.needsDraw&&(y.viewport(0,0,y.canvas.width,y.canvas.height),Td(e,null,In.PICKING),e.pickingFrameBuffer.needsDraw=!1);var g=u*s,m=new Uint8Array(g*4);y.readPixels(i,o,u,s,y.RGBA,y.UNSIGNED_BYTE,m),y.bindFramebuffer(y.FRAMEBUFFER,null);for(var b=new Set,x=0;x<g;x++){var B=wy(m.slice(x*4,x*4+4))-1;B>=0&&b.add(B)}return b}function Gy(e,t,r){var n=$y(e,t,r),a=e.getCachedZSortedEles(),i,o,u=xt(n),s;try{for(u.s();!(s=u.n()).done;){var l=a[s.value];if(!i&&l.isNode()&&(i=l),!o&&l.isEdge()&&(o=l),i&&o)break}}catch(c){u.e(c)}finally{u.f()}return[i,o].filter(Boolean)}function cs(e,t,r){var n=e.drawing;t+=1,r.isNode()?(n.drawNode(r,t,"node-underlay"),n.drawNode(r,t,"node-body"),n.drawTexture(r,t,"label"),n.drawNode(r,t,"node-overlay")):(n.drawEdgeLine(r,t),n.drawEdgeArrow(r,t,"source"),n.drawEdgeArrow(r,t,"target"),n.drawTexture(r,t,"label"),n.drawTexture(r,t,"edge-source-label"),n.drawTexture(r,t,"edge-target-label"))}function Td(e,t,r){var n;e.webglDebug&&(n=performance.now());var a=e.drawing,i=0;if(r.screen&&e.data.canvasNeedsRedraw[e.SELECT_BOX]&&jy(e,t),e.data.canvasNeedsRedraw[e.NODE]||r.picking){var o=e.data.contexts[e.WEBGL];r.screen?(o.clearColor(0,0,0,0),o.enable(o.BLEND),o.blendFunc(o.ONE,o.ONE_MINUS_SRC_ALPHA)):o.disable(o.BLEND),o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT),o.viewport(0,0,o.canvas.width,o.canvas.height);var u=qy(e),s=e.getCachedZSortedEles();if(i=s.length,a.startFrame(u,r),r.screen){for(var l=0;l<s.nondrag.length;l++)cs(e,l,s.nondrag[l]);for(var c=0;c<s.drag.length;c++)cs(e,c,s.drag[c])}else if(r.picking)for(var d=0;d<s.length;d++)cs(e,d,s[d]);a.endFrame(),r.screen&&e.webglDebugShowAtlases&&(Wy(e),Uy(e)),e.data.canvasNeedsRedraw[e.NODE]=!1,e.data.canvasNeedsRedraw[e.DRAG]=!1}if(e.webglDebug){var h=performance.now(),f=!1,p=Math.ceil(h-n),v=a.getDebugInfo(),y=[`${i} elements`,`${v.totalInstances} instances`,`${v.batchCount} batches`,`${v.totalAtlases} atlases`,`${v.wrappedCount} wrapped textures`,`${v.simpleCount} simple shapes`].join(", ");if(f)console.log(`WebGL (${r.name}) - time ${p}ms, ${y}`);else{console.log(`WebGL (${r.name}) - frame time ${p}ms`),console.log("Totals:"),console.log(` ${y}`),console.log("Texture Atlases Used:");var g=v.atlasInfo,m=xt(g),b;try{for(m.s();!(b=m.n()).done;){var x=b.value;console.log(` ${x.type}: ${x.keyCount} keys, ${x.atlasCount} atlases`)}}catch(B){m.e(B)}finally{m.f()}console.log("")}}e.data.gc&&(console.log("Garbage Collect!"),e.data.gc=!1,a.gc())}var pr={};pr.drawPolygonPath=function(e,t,r,n,a,i){var o=n/2,u=a/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*i[0],r+u*i[1]);for(var s=1;s<i.length/2;s++)e.lineTo(t+o*i[s*2],r+u*i[s*2+1]);e.closePath()},pr.drawRoundPolygonPath=function(e,t,r,n,a,i,o){o.forEach(function(u){return Wc(e,u)}),e.closePath()},pr.drawRoundRectanglePath=function(e,t,r,n,a,i){var o=n/2,u=a/2,s=i==="auto"?ar(n,a):Math.min(i,u,o);e.beginPath&&e.beginPath(),e.moveTo(t,r-u),e.arcTo(t+o,r-u,t+o,r,s),e.arcTo(t+o,r+u,t,r+u,s),e.arcTo(t-o,r+u,t-o,r,s),e.arcTo(t-o,r-u,t,r-u,s),e.lineTo(t,r-u),e.closePath()},pr.drawBottomRoundRectanglePath=function(e,t,r,n,a,i){var o=n/2,u=a/2,s=i==="auto"?ar(n,a):i;e.beginPath&&e.beginPath(),e.moveTo(t,r-u),e.lineTo(t+o,r-u),e.lineTo(t+o,r),e.arcTo(t+o,r+u,t,r+u,s),e.arcTo(t-o,r+u,t-o,r,s),e.lineTo(t-o,r-u),e.lineTo(t,r-u),e.closePath()},pr.drawCutRectanglePath=function(e,t,r,n,a,i,o){var u=n/2,s=a/2,l=o==="auto"?Ti():o;e.beginPath&&e.beginPath(),e.moveTo(t-u+l,r-s),e.lineTo(t+u-l,r-s),e.lineTo(t+u,r-s+l),e.lineTo(t+u,r+s-l),e.lineTo(t+u-l,r+s),e.lineTo(t-u+l,r+s),e.lineTo(t-u,r+s-l),e.lineTo(t-u,r-s+l),e.closePath()},pr.drawBarrelPath=function(e,t,r,n,a){var i=n/2,o=a/2,u=t-i,s=t+i,l=r-o,c=r+o,d=Ci(n,a),h=d.widthOffset,f=d.heightOffset,p=d.ctrlPtOffsetPct*h;e.beginPath&&e.beginPath(),e.moveTo(u,l+f),e.lineTo(u,c-f),e.quadraticCurveTo(u+p,c,u+h,c),e.lineTo(s-h,c),e.quadraticCurveTo(s-p,c,s,c-f),e.lineTo(s,l+f),e.quadraticCurveTo(s-p,l,s-h,l),e.lineTo(u+h,l),e.quadraticCurveTo(u+p,l,u,l+f),e.closePath()};for(var Cd=Math.sin(0),Pd=Math.cos(0),ds={},hs={},Bd=Math.PI/40,Jr=0*Math.PI;Jr<2*Math.PI;Jr+=Bd)ds[Jr]=Math.sin(Jr),hs[Jr]=Math.cos(Jr);pr.drawEllipsePath=function(e,t,r,n,a){if(e.beginPath&&e.beginPath(),e.ellipse)e.ellipse(t,r,n/2,a/2,0,0,2*Math.PI);else for(var i,o,u=n/2,s=a/2,l=0*Math.PI;l<2*Math.PI;l+=Bd)i=t-u*ds[l]*Cd+u*hs[l]*Pd,o=r+s*hs[l]*Cd+s*ds[l]*Pd,l===0?e.moveTo(i,o):e.lineTo(i,o);e.closePath()};var zn={};zn.createBuffer=function(e,t){var r=document.createElement("canvas");return r.width=e,r.height=t,[r,r.getContext("2d")]},zn.bufferCanvasImage=function(e){var t=this.cy,r=t.mutableElements().boundingBox(),n=this.findContainerClientCoords(),a=e.full?Math.ceil(r.w):n[2],i=e.full?Math.ceil(r.h):n[3],o=ee(e.maxWidth)||ee(e.maxHeight),u=this.getPixelRatio(),s=1;if(e.scale!==void 0)a*=e.scale,i*=e.scale,s=e.scale;else if(o){var l=1/0,c=1/0;ee(e.maxWidth)&&(l=s*e.maxWidth/a),ee(e.maxHeight)&&(c=s*e.maxHeight/i),s=Math.min(l,c),a*=s,i*=s}o||(a*=u,i*=u,s*=u);var d=document.createElement("canvas");d.width=a,d.height=i,d.style.width=a+"px",d.style.height=i+"px";var h=d.getContext("2d");if(a>0&&i>0){h.clearRect(0,0,a,i),h.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(e.full)h.translate(-r.x1*s,-r.y1*s),h.scale(s,s),this.drawElements(h,f),h.scale(1/s,1/s),h.translate(r.x1*s,r.y1*s);else{var p=t.pan(),v={x:p.x*s,y:p.y*s};s*=t.zoom(),h.translate(v.x,v.y),h.scale(s,s),this.drawElements(h,f),h.scale(1/s,1/s),h.translate(-v.x,-v.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,a,i),h.fill())}return d};function Ky(e,t){for(var r=atob(e),n=new ArrayBuffer(r.length),a=new Uint8Array(n),i=0;i<r.length;i++)a[i]=r.charCodeAt(i);return new Blob([n],{type:t})}function Sd(e){var t=e.indexOf(",");return e.substr(t+1)}function Dd(e,t,r){var n=function(){return t.toDataURL(r,e.quality)};switch(e.output){case"blob-promise":return new Fr(function(a,i){try{t.toBlob(function(o){o==null?i(Error("`canvas.toBlob()` sent a null value in its callback")):a(o)},r,e.quality)}catch(o){i(o)}});case"blob":return Ky(Sd(n()),r);case"base64":return Sd(n());case"base64uri":default:return n()}}zn.png=function(e){return Dd(e,this.bufferCanvasImage(e),"image/png")},zn.jpg=function(e){return Dd(e,this.bufferCanvasImage(e),"image/jpeg")};var Ad={};Ad.nodeShapeImpl=function(e,t,r,n,a,i,o,u){switch(e){case"ellipse":return this.drawEllipsePath(t,r,n,a,i);case"polygon":return this.drawPolygonPath(t,r,n,a,i,o);case"round-polygon":return this.drawRoundPolygonPath(t,r,n,a,i,o,u);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,r,n,a,i,u);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,r,n,a,i,o,u);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,r,n,a,i,u);case"barrel":return this.drawBarrelPath(t,r,n,a,i)}};var Hy=Rd,we=Rd.prototype;we.CANVAS_LAYERS=3,we.SELECT_BOX=0,we.DRAG=1,we.NODE=2,we.WEBGL=3,we.CANVAS_TYPES=["2d","2d","2d","webgl2"],we.BUFFER_COUNT=3,we.TEXTURE_BUFFER=0,we.MOTIONBLUR_BUFFER_NODE=1,we.MOTIONBLUR_BUFFER_DRAG=2;function Rd(e){var t=this,r=t.cy.window().document;e.webgl&&(we.CANVAS_LAYERS=t.CANVAS_LAYERS=4,console.log("webgl rendering enabled")),t.data={canvases:Array(we.CANVAS_LAYERS),contexts:Array(we.CANVAS_LAYERS),canvasNeedsRedraw:Array(we.CANVAS_LAYERS),bufferCanvases:Array(we.BUFFER_COUNT),bufferContexts:Array(we.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",a="rgba(0,0,0,0)";t.data.canvasContainer=r.createElement("div");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[n]=a,i.position="relative",i.zIndex="0",i.overflow="hidden";var o=e.cy.container();o.appendChild(t.data.canvasContainer),o.style[n]=a;var u={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};lh()&&(u["-ms-touch-action"]="none",u["touch-action"]="none");for(var s=0;s<we.CANVAS_LAYERS;s++){var l=t.data.canvases[s]=r.createElement("canvas"),c=we.CANVAS_TYPES[s];t.data.contexts[s]=l.getContext(c),t.data.contexts[s]||qe("Could not create canvas of type "+c),Object.keys(u).forEach(function(O){l.style[O]=u[O]}),l.style.position="absolute",l.setAttribute("data-id","layer"+s),l.style.zIndex=String(we.CANVAS_LAYERS-s),t.data.canvasContainer.appendChild(l),t.data.canvasNeedsRedraw[s]=!1}t.data.topCanvas=t.data.canvases[0],t.data.canvases[we.NODE].setAttribute("data-id","layer"+we.NODE+"-node"),t.data.canvases[we.SELECT_BOX].setAttribute("data-id","layer"+we.SELECT_BOX+"-selectbox"),t.data.canvases[we.DRAG].setAttribute("data-id","layer"+we.DRAG+"-drag"),t.data.canvases[we.WEBGL]&&t.data.canvases[we.WEBGL].setAttribute("data-id","layer"+we.WEBGL+"-webgl");for(var s=0;s<we.BUFFER_COUNT;s++)t.data.bufferCanvases[s]=r.createElement("canvas"),t.data.bufferContexts[s]=t.data.bufferCanvases[s].getContext("2d"),t.data.bufferCanvases[s].style.position="absolute",t.data.bufferCanvases[s].setAttribute("data-id","buffer"+s),t.data.bufferCanvases[s].style.zIndex=String(-s-1),t.data.bufferCanvases[s].style.visibility="hidden";t.pathsEnabled=!0;var d=gt(),h=function(O){return{x:(O.x1+O.x2)/2,y:(O.y1+O.y2)/2}},f=function(O){return{x:-O.w/2,y:-O.h/2}},p=function(O){var z=O[0]._private;return z.oldBackgroundTimestamp!==z.backgroundTimestamp},v=function(O){return O[0]._private.nodeKey},y=function(O){return O[0]._private.labelStyleKey},g=function(O){return O[0]._private.sourceLabelStyleKey},m=function(O){return O[0]._private.targetLabelStyleKey},b=function(O,z,F,Z,oe){return t.drawElement(O,z,F,!1,!1,oe)},x=function(O,z,F,Z,oe){return t.drawElementText(O,z,F,Z,"main",oe)},B=function(O,z,F,Z,oe){return t.drawElementText(O,z,F,Z,"source",oe)},k=function(O,z,F,Z,oe){return t.drawElementText(O,z,F,Z,"target",oe)},w=function(O){return O.boundingBox(),O[0]._private.bodyBounds},S=function(O){return O.boundingBox(),O[0]._private.labelBounds.main||d},E=function(O){return O.boundingBox(),O[0]._private.labelBounds.source||d},P=function(O){return O.boundingBox(),O[0]._private.labelBounds.target||d},C=function(O,z){return z},A=function(O){return h(w(O))},D=function(O,z,F){var Z=O?O+"-":"";return{x:z.x+F.pstyle(Z+"text-margin-x").pfValue,y:z.y+F.pstyle(Z+"text-margin-y").pfValue}},R=function(O,z,F){var Z=O[0]._private.rscratch;return{x:Z[z],y:Z[F]}},_=function(O){return D("",R(O,"labelX","labelY"),O)},I=function(O){return D("source",R(O,"sourceLabelX","sourceLabelY"),O)},M=function(O){return D("target",R(O,"targetLabelX","targetLabelY"),O)},N=function(O){return f(w(O))},V=function(O){return f(E(O))},Y=function(O){return f(P(O))},q=function(O){var z=S(O),F=f(S(O));if(O.isNode()){switch(O.pstyle("text-halign").value){case"left":F.x=-z.w-(z.leftPad||0);break;case"right":F.x=-(z.rightPad||0);break}switch(O.pstyle("text-valign").value){case"top":F.y=-z.h-(z.topPad||0);break;case"bottom":F.y=-(z.botPad||0);break}}return F},W=t.data.eleTxrCache=new _n(t,{getKey:v,doesEleInvalidateKey:p,drawElement:b,getBoundingBox:w,getRotationPoint:A,getRotationOffset:N,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),H=t.data.lblTxrCache=new _n(t,{getKey:y,drawElement:x,getBoundingBox:S,getRotationPoint:_,getRotationOffset:q,isVisible:C}),j=t.data.slbTxrCache=new _n(t,{getKey:g,drawElement:B,getBoundingBox:E,getRotationPoint:I,getRotationOffset:V,isVisible:C}),$=t.data.tlbTxrCache=new _n(t,{getKey:m,drawElement:k,getBoundingBox:P,getRotationPoint:M,getRotationOffset:Y,isVisible:C}),J=t.data.lyrTxrCache=new od(t);t.onUpdateEleCalcs(function(O,z){W.invalidateElements(z),H.invalidateElements(z),j.invalidateElements(z),$.invalidateElements(z),J.invalidateElements(z);for(var F=0;F<z.length;F++){var Z=z[F]._private;Z.oldBackgroundTimestamp=Z.backgroundTimestamp}});var Q=function(O){for(var z=0;z<O.length;z++)J.enqueueElementRefinement(O[z].ele)};W.onDequeue(Q),H.onDequeue(Q),j.onDequeue(Q),$.onDequeue(Q),e.webgl&&t.initWebgl(e,{getStyleKey:v,getLabelKey:y,getSourceLabelKey:g,getTargetLabelKey:m,drawElement:b,drawLabel:x,drawSourceLabel:B,drawTargetLabel:k,getElementBox:w,getLabelBox:S,getSourceLabelBox:E,getTargetLabelBox:P,getElementRotationPoint:A,getElementRotationOffset:N,getLabelRotationPoint:_,getSourceLabelRotationPoint:I,getTargetLabelRotationPoint:M,getLabelRotationOffset:q,getSourceLabelRotationOffset:V,getTargetLabelRotationOffset:Y})}we.redrawHint=function(e,t){var r=this;switch(e){case"eles":r.data.canvasNeedsRedraw[we.NODE]=t;break;case"drag":r.data.canvasNeedsRedraw[we.DRAG]=t;break;case"select":r.data.canvasNeedsRedraw[we.SELECT_BOX]=t;break;case"gc":r.data.gc=!0;break}};var Zy=typeof Path2D<"u";we.path2dEnabled=function(e){if(e===void 0)return this.pathsEnabled;this.pathsEnabled=!!e},we.usePaths=function(){return Zy&&this.pathsEnabled},we.setImgSmoothing=function(e,t){e.imageSmoothingEnabled==null?(e.webkitImageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t):e.imageSmoothingEnabled=t},we.getImgSmoothing=function(e){return e.imageSmoothingEnabled==null?e.webkitImageSmoothingEnabled||e.mozImageSmoothingEnabled||e.msImageSmoothingEnabled:e.imageSmoothingEnabled},we.makeOffscreenCanvas=function(e,t){var r;return(typeof OffscreenCanvas>"u"?"undefined":Ze(OffscreenCanvas))==="undefined"?(r=this.cy.window().document.createElement("canvas"),r.width=e,r.height=t):r=new OffscreenCanvas(e,t),r},[ld,Ft,Gt,rs,Pr,fr,yt,wd,pr,zn,Ad].forEach(function(e){he(we,e)});var Qy=[{type:"layout",extensions:kv},{type:"renderer",extensions:[{name:"null",impl:Lc},{name:"base",impl:ed},{name:"canvas",impl:Hy}]}],_d={},Md={};function Id(e,t,r){var n=r,a=function(k){_e("Can not register `"+t+"` for `"+e+"` since `"+k+"` already exists in the prototype and can not be overridden")};if(e==="core"){if(Bn.prototype[t])return a(t);Bn.prototype[t]=r}else if(e==="collection"){if(lt.prototype[t])return a(t);lt.prototype[t]=r}else if(e==="layout"){for(var i=function(k){this.options=k,r.call(this,k),Be(this._private)||(this._private={}),this._private.cy=k.cy,this._private.listeners=[],this.createEmitter()},o=i.prototype=Object.create(r.prototype),u=[],s=0;s<u.length;s++){var l=u[s];o[l]=o[l]||function(){return this}}o.start&&!o.run?o.run=function(){return this.start(),this}:!o.start&&o.run&&(o.start=function(){return this.run(),this});var c=r.prototype.stop;o.stop=function(){var k=this.options;if(k&&k.animate){var w=this.animations;if(w)for(var S=0;S<w.length;S++)w[S].stop()}return c?c.call(this):this.emit("layoutstop"),this},o.destroy||(o.destroy=function(){return this}),o.cy=function(){return this._private.cy};var d=function(k){return k._private.cy},h={addEventFields:function(k,w){w.layout=k,w.cy=d(k),w.target=k},bubble:function(){return!0},parent:function(k){return d(k)}};he(o,{createEmitter:function(){return this._private.emitter=new ma(h,this),this},emitter:function(){return this._private.emitter},on:function(k,w){return this.emitter().on(k,w),this},one:function(k,w){return this.emitter().one(k,w),this},once:function(k,w){return this.emitter().one(k,w),this},removeListener:function(k,w){return this.emitter().removeListener(k,w),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(k,w){return this.emitter().emit(k,w),this}}),Me.eventAliasesOn(o),n=i}else if(e==="renderer"&&t!=="null"&&t!=="base"){var f=Nd("renderer","base"),p=f.prototype,v=r,y=r.prototype,g=function(){f.apply(this,arguments),v.apply(this,arguments)},m=g.prototype;for(var b in p){var x=p[b];if(y[b]!=null)return a(b);m[b]=x}for(var B in y)m[B]=y[B];p.clientFunctions.forEach(function(k){m[k]=m[k]||function(){qe("Renderer does not implement `renderer."+k+"()` on its prototype")}}),n=g}else if(e==="__proto__"||e==="constructor"||e==="prototype")return qe(e+" is an illegal type to be registered, possibly lead to prototype pollutions");return Ss({map:_d,keys:[e,t],value:n})}function Nd(e,t){return Ds({map:_d,keys:[e,t]})}function Jy(e,t,r,n,a){return Ss({map:Md,keys:[e,t,r,n],value:a})}function e0(e,t,r,n){return Ds({map:Md,keys:[e,t,r,n]})}var fs=function(){if(arguments.length===2)return Nd.apply(null,arguments);if(arguments.length===3)return Id.apply(null,arguments);if(arguments.length===4)return e0.apply(null,arguments);if(arguments.length===5)return Jy.apply(null,arguments);qe("Invalid extension access syntax")};Bn.prototype.extension=fs,Qy.forEach(function(e){e.extensions.forEach(function(t){Id(e.type,t.name,t.impl)})});var Wa=function(){if(!(this instanceof Wa))return new Wa;this.length=0},Sr=Wa.prototype;Sr.instanceString=function(){return"stylesheet"},Sr.selector=function(e){var t=this.length++;return this[t]={selector:e,properties:[]},this},Sr.css=function(e,t){var r=this.length-1;if(ce(e))this[r].properties.push({name:e,value:t});else if(Be(e))for(var n=e,a=Object.keys(n),i=0;i<a.length;i++){var o=a[i],u=n[o];if(u!=null){var s=at.properties[o]||at.properties[qn(o)];if(s!=null){var l=s.name,c=u;this[r].properties.push({name:l,value:c})}}}return this},Sr.style=Sr.css,Sr.generateStyle=function(e){var t=new at(e);return this.appendToStyle(t)},Sr.appendToStyle=function(e){for(var t=0;t<this.length;t++){var r=this[t],n=r.selector,a=r.properties;e.selector(n);for(var i=0;i<a.length;i++){var o=a[i];e.css(o.name,o.value)}}return e};var t0="3.33.1",Dr=function(e){if(e===void 0&&(e={}),Be(e))return new Bn(e);if(ce(e))return fs.apply(fs,arguments)};Dr.use=function(e){var t=Array.prototype.slice.call(arguments,1);return t.unshift(Dr),e.apply(null,t),this},Dr.warnings=function(e){return Js(e)},Dr.version=t0,Dr.stylesheet=Dr.Stylesheet=Wa;export{Dr as t};
|